我已经在Nodejs中安装了MongoDB v4.0
,它的最惊人功能是Transaction,驱动程序是mongodb
3.1.
当我try 使用事务会话时,我遇到了以下错误:
MongoError:事务号只允许在副本集成员或mongos上使用.
那是什么?我怎样才能摆脱它?
任何建议都将不胜感激.
我已经在Nodejs中安装了MongoDB v4.0
,它的最惊人功能是Transaction,驱动程序是mongodb
3.1.
当我try 使用事务会话时,我遇到了以下错误:
MongoError:事务号只允许在副本集成员或mongos上使用.
那是什么?我怎样才能摆脱它?
任何建议都将不胜感激.
Transactions
无疑是MongoDB 4.0
中最激动人心的新功能.但不幸的是,大多数安装和运行MongoDB的工具都会启动独立服务器,而不是复制集.如果试图在独立服务器上启动会话,将出现此错误.
为了使用事务,您需要MongoDB个副本集,在本地启动副本集进行开发是一个复杂的过程.新的run-rs npm module
使启动副本集变得容易.运行run rs是启动副本集所需的全部,run rs甚至可以为您安装正确版本的MongoDB.
Run rs除了 node 之外没有外部依赖项.js和npm.您不需要安装Docker、homebrew、APT、Python甚至MongoDB.
使用npm's -g
标志全局安装run rs.您还可以在package.json
文件的devdependency中列出run r.
npm install run-rs -g
接下来,使用--version标志运行rs.Run rs将下载MongoDB v4.0.0给你.别担心,它不会覆盖现有的MongoDB安装.
run-rs -v 4.0.0 --shell
然后在连接字符串中使用100.
你可以找到更多关于它的细节.