gpt4 book ai didi

django - Mongoengine 原始 find_and_modify 查询给出 "Must either update or remove"异常

转载 作者:可可西里 更新时间:2023-11-01 10:27:01 26 4
gpt4 key购买 nike

我正在使用 Django + mongoengine我想更新我的 Bookscollection 文档中的书籍(嵌入式文档)计数。我希望更新查询返回完整的对象。因此我正在使用“find_and_modify”。但即使我使用更新或删除字段。我仍然收到“必须更新或删除”的错误消息。这是我的代码片段 -

for book_id in book_list:
book_col = BookCollection._get_collection().find_and_modify({
'query': {'coll_id':book_coll_id,'book.book_id':book_id},
'update':{'$inc':
{'book.$.quantity' : 1}
},
'new':True
})

这里有什么问题吗?

最佳答案

find_and_modify采用关键字参数,这就是您收到该错误消息的原因。

for book_id in book_list:
book_col = BookCollection._get_collection().find_and_modify({
query={'coll_id':book_coll_id,'book.book_id': book_id},
update={'$inc': {'book.$.quantity' : 1}},
new=True
})

您还应该知道 find_and_modify 在 pymongo3.0 中已弃用,您应该使用 find_one_and_update如果你的潜水员是pymongo 2.9或更新版本。

关于django - Mongoengine 原始 find_and_modify 查询给出 "Must either update or remove"异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33053748/

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