我对Python或MongoDB没有真正的经验,但是我正在使用this script从数据库中迁移一些文件。
当update_one
命令在第190行运行时发生错误:
collection.update_one({"_id": dbId},{"$set": update_data})
pymongo.errors.OperationFailure: Transaction numbers are only allowed on storage engines that support document-level locking
这似乎是因为它正在尝试使用事务,并且由于我们只有一个MongoDB,因此它不支持事务(根据我的阅读)。
我检查了该行上使用的变量,它们看起来都不错,所以现在我有点卡住了。
理想情况下,我希望当您连接到数据库时,有一种方法可以说“不使用事务”。任何帮助或指示,将不胜感激。
更多信息:
# python3 -V
Python 3.6.8
# mongod --version
db version v4.0.10
git version: c389e7f69f637f7a1ac3cc9fae843b635f20b766
OpenSSL version: OpenSSL 1.1.1 11 Sep 2018
allocator: tcmalloc
modules: none
build environment:
distmod: ubuntu1804
distarch: x86_64
target_arch: x86_64