gpt4 book ai didi

python - 如何使用批量操作更新mongodb中的文档?

转载 作者:行者123 更新时间:2023-12-01 04:18:58 24 4
gpt4 key购买 nike

我正在尝试使用 python 和 Tornado 访问单个函数内的单个表。

根据我上一个问题的建议,我尝试使用 mongodb 中提供的 Bulk 操作来执行此操作。我尝试插入成功,但在更新过程中出现错误。

我的代码是

bulk = db.Test.initialize_unordered_bulk_op()
print("1")
bulk.insert({"test":"we"})
# bulk.find({"test": "we"})
bulk.update({"test": "we"},{'$set':{"test": "false"}},{'$unset':{"Cid"}})
t = bulk.execute()
print(t)

查询有问题吗?

当尝试打印 find 操作的答案时,我得到了

<tornado.concurrent.Future object at 0x02ED2630>

任何人都可以指导我如何执行此批量操作。

最佳答案

您需要.find()您想要.update()的内容。

bulk.find({"test": "we"}).update({'$set': {"test": "false"}, '$unset': {"Cid", ""}})

您还可以使用 .find 在您的收藏中查找文档。返回一个 Cursor 对象的方法。然后,您需要迭代光标或使用 list 返回文档。话虽如此,如果知道您的查询将仅返回一个文档,那么您需要的是 .find_one()方法。

在您的打印结果中bulk.find没有任何意义,因为您正在插入文档,并使用 BulkOperationBuilder 的相同实例进行更新这意味着你的所有操作都会在 .execute() 之后发送到服务器

关于python - 如何使用批量操作更新mongodb中的文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33952311/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com