作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在尝试使用 mongoose
进行简单的交易。它在 MongoDB Atlas
上运行良好,但在 mlab
中出现这样的错误:MongoError: Transaction numbers are allowed on storage engine that support document-level locking
。我做了一些研究,但并没有真正找到关于 mlab
和 document-level locking
的任何资源。有谁知道如何解决这个问题?
最佳答案
该错误表明您的应用/驱动程序正在尝试使用与您的共享集群部署不兼容的功能,该部署采用 MMAPv1 存储 Node 。您可能启用了可重试写入 (https://docs.mongodb.com/manual/core/retryable-writes/)。您可以尝试在连接字符串 (https://docs.mongodb.com/manual/reference/connection-string/#urioption.retryWrites) 中或直接从您的驱动程序设置中关闭该功能吗?
如果您在关闭此功能后仍然遇到此错误,请告诉我们。
基于这个答案,我在 mongodb 连接 url 中附加了 retryWrites=false ,然后效果很好。
关于node.js - 如何在 mlab 中解决此事务错误? [MongoError : Transaction numbers are . .. 支持文档级锁定],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55878421/
我是一名优秀的程序员,十分优秀!