相关疑难解决方法(0)

MongoError:此 MongoDB 部署不支持可重试写入。请将 retryWrites=false 添加到您的连接字符串

"mongoose": "^5.7.1"在我的 Node.js 项目中使用。我正在制作一个涉及更新两个文档的 api。所以,我正在使用如下交易:

// Start the transaction
session = await mongoose.startSession()
session.startTransaction()

await Promise.all([
   <1st update operation>,
   <2nd update operation>
])

// Commit the transaction
session.commitTransaction()
Run Code Online (Sandbox Code Playgroud)

当我在本地环境中点击此 api 时,出现以下错误:

MongoError:此 MongoDB 部署不支持可重试写入。请将 retryWrites=false 添加到您的连接字符串。

当我在远程环境中点击这个 api 时,它运行良好。我使用https://www.clever-cloud.com作为数据库云和 AWS 作为 api 云。

正如错误消息中所写,我试图把 retryWrites=false

  • 在我传递给猫鼬的连接字符串的末尾 mongodb://${ip}:${port}/${this.MONGO_DATABASE}?retryWrites=false
  • 带有retryWrites: false传递给mongoose.connect方法的选项。
mongoose.connect(`mongodb://${ip}:${port}/${this.MONGO_DATABASE}`, {
    useNewUrlParser: true,
    useUnifiedTopology: true,
    useCreateIndex: true,
    retryWrites: false
  }, (err) => {...})
Run Code Online (Sandbox Code Playgroud)

以上都没有解决问题。

下面是mongo --version命令的输出:

db version v4.0.13
git …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb

26
推荐指数
3
解决办法
2万
查看次数

如何使用Mongoose使用MongoDB事务?

我正在使用MongoDB Atlas cloud(https://cloud.mongodb.com/)和Mongoose库。

我尝试使用事务处理概念创建多个文档,但是它不起作用。我没有任何错误。但是,回滚似乎无法正常工作。

app.js

//*** more code here

var app = express();

require('./models/db');

//*** more code here
Run Code Online (Sandbox Code Playgroud)

模型/db.js

var mongoose = require( 'mongoose' );

// Build the connection string
var dbURI = 'mongodb+srv://mydb:pass@cluster0-****.mongodb.net/mydb?retryWrites=true';

// Create the database connection
mongoose.connect(dbURI, {
  useCreateIndex: true,
  useNewUrlParser: true,
});

// Get Mongoose to use the global promise library
mongoose.Promise = global.Promise;
Run Code Online (Sandbox Code Playgroud)

型号/user.js

const mongoose = require("mongoose");

const UserSchema = new mongoose.Schema({
  userName: {
    type: String,
    required: true
  },
  pass: {
    type: …
Run Code Online (Sandbox Code Playgroud)

javascript mongoose mongodb node.js mongodb-query

1
推荐指数
1
解决办法
2243
查看次数

标签 统计

mongodb ×2

mongoose ×2

javascript ×1

mongodb-query ×1

node.js ×1