gpt4 book ai didi

python - pymongo: findandmodify - 返回 "no such command"

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

我相信 pymongo(或者至少是文档)中存在一个错误,它导致无法运行 findandupdate 查询。

事情是这样的。当我运行时:

    result = db.command({
'findandmodify': 'my_collection',
'query': {'foo': 'bar'},
'update': {'$set': {'status': 'queued'}},
})

实际发送到服务器的查询是:

{ 'query': {'foo': 'bar'}, 'findandmodify': 'my_collection', … }

请注意,query 参数是第一个findandmodify第二个

但这会导致服务器抛出:

OperationFailure: command { 'query': {'foo': 'bar'}, 'findandmodify': 'my_collection', … } failed: no such cmd

因为服务器期望 findandmodify 是第一个(BSON 字典显然是有序的)。

有解决办法吗?

最佳答案

对于没有内置排序字典类型的语言,mongo 驱动程序包含一个。在 python 中是 SON 类型:http://api.mongodb.org/python/1.4%2B/api/pymongo/son.html .您将需要对所有命令使用它。

如果仍然失败,请确保您使用的是最新版本的数据库,因为查找和修改是一项新功能。

关于python - pymongo: findandmodify - 返回 "no such command",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2350238/

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