node.js - 修复 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')
有什么想法是我做错了什么还是有别的什么?提前致谢。
解决方案
多亏了D.SM,我真的不得不设置一个副本集。之后一切正常。
推荐阅读
- javascript - 转换函数和光标:指针不起作用
- python - SVR ValueError:形状 (1,1) 的不可广播输出操作数与广播形状 (1,9) 不匹配
- java - 如何使用 if 条件将 Java Stream 应用于现有的 forEach 循环
- http - 在 Nifi 中,如何让 HandleHttpResponse 返回 invokeHttp 处理器的响应?
- javascript - 从 mongodb 破坏对象,长度未定义
- c - const int* ptr[] 和 const int (*ptr)[] 的区别
- azure - Azure 解析来自 IoT 中心的传入十六进制数据
- c# - 无法加载相关数据 - 我的配置是否错误?
- python - 谁能告诉我如何回到游戏开始?
- python - 从 Keras Libraries CNN 在 Spyder Anaconda 中出现错误:WARNING:root:Limited tf.compat.v2.summary API 由于缺少 TensorBoard 安装