Prisma 使用MongoDB创建数据时报错:Prisma needs to perform transactions, which requires your MongoDB server to be run as a replica set.
前言
当我在使用prisma配合MongoDB来创建数据的时候,发现后端报错了,提示:
Prisma needs to perform transactions, which requires your MongoDB server to be run as a replica set.https://pris.ly/d/mongodb-replica-set
主要原因是因为prisma在创建数据的时候需要使用到事务,但是MongoDB使用事务就需要副本集,副本集类似于一份数据存多份的处理方案。
折腾了好久才搞定,特此分享。
教程
修改配置
首先我们需要找到MongoDB的安装位置,在它的bin目录下有一个配置文件:mongod.cfg
我们打开在,找到被注释的:#replication:
把他修改为:
replication:
replSetName: rs0
rs0
是集群的名字,可以自定义。
修改好后就行保存。
重启MongoDB服务
由于我的是默认安装,MongoDB自己把服务加入到启动计划中了,我需要在windows的服务中进行重启。
win11可以通过任务管理侧边栏找到服务列表,其他的就Win + R
输入:services.msc
进入到服务列表。
找到MongoDB的服务,鼠标右键重启一下,让他重新载入配置文件。
初始化副本集
然后我们下载mongosh
,官网下载:mongosh
解压到本地后,也是进入bin目录,里面有个mongosh.exe
可执行文件,双击打开。
如果你的MongoDB是默认值,端口也没改,用户名密码也没设,直接回车,不然就自己手输地址吧!这都不会可以百度。
进入后我们输入:
use 你的数据库名
比如我的数据库叫 age,那就是use age
;
进入到对应数据库后,我们进行初始化集群:
rs.initiate()
完事后可以输入:
rs.status()
查看集群状态。
至此基本就好了,我测试创建也是正常的。
版权申明
本文系作者 @木灵鱼儿 原创发布在木灵鱼儿站点。未经许可,禁止转载。
全部评论 4
晴天
Google Chrome Windows 10木灵鱼儿
FireFox Windows 10晴天
Google Chrome Windows 10木灵鱼儿
FireFox Windows 10