python – pymongo:findandmodify – 返回“no such command”
发布时间:2020-12-20 12:16:23 所属栏目:Python 来源:网络整理
导读:我相信pymongo(或者至少是文档)中存在一个错误,它使得无法运行findandupdate查询. 这是发生了什么.当我跑: result = db.command({ 'findandmodify': 'my_collection','query': {'foo': 'bar'},'update': {'$set': {'status': 'queued'}},}) 实际发送到服务
我相信pymongo(或者至少是文档)中存在一个错误,它使得无法运行findandupdate查询.
这是发生了什么.当我跑: result = db.command({ 'findandmodify': 'my_collection','query': {'foo': 'bar'},'update': {'$set': {'status': 'queued'}},}) 实际发送到服务器的查询是: { 'query': {'foo': 'bar'},'findandmodify': 'my_collection',… } 请注意,查询参数是第一个,而findandmodify是第二个. 但这导致服务器抛出: OperationFailure: command { 'query': {'foo': 'bar'},… } failed: no such cmd 因为服务器期望findandmodify是第一个(BSON dicts显然是有序的). 这有什么工作吗? 解决方法
对于没有内置排序字典类型的语言,mongo驱动程序包含一个.在python中是SON类型:
http://api.mongodb.org/python/1.4%2B/api/pymongo/son.html.您将需要对所有命令使用它.
如果仍然失败,请确保您使用的是最新版本的数据库,因为findandmodify是一项新功能. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |