首页 > 解决方案 > 修复 nodejs 和 mongodb 中的 retryWrites=false

问题描述

我通过docker(官方图片)和mongodb驱动程序v3.5.8使用节点v12.16.3、mongodb 4.2。当我insertOne在事务中应用我的操作时,我收到以下错误:

This MongoDB deployment does not support retryable writes. Please add retryWrites=false to your connection string.

这是我的连接网址:mongodb://root:root@localhost:27017 添加 retryWrites=false 不起作用 (mongodb://root:root@localhost:27017/?retryWrites=false)

这是我创建 mongo 客户端的方法:

const { MongoClient } = require('mongodb');

const client = new MongoClient('mongodb://root:root@localhost:27017/?retryWrites=false', {
    useNewUrlParser: true,
    useUnifiedTopology: true
});

我故意不指定默认数据库,因为没有默认数据库,后来我根据我的业务案例使用了一个特定的数据库:

const db = client.db('somedatabae')

有什么想法是我做错了什么还是有别的什么?提前致谢。

标签: node.jsmongodb

解决方案


多亏了D.SM,我真的不得不设置一个副本集。之后一切正常。


推荐阅读