(PyMongo) - 函数find_one_and_update()的参数

时间:2015-09-07 19:12:33

标签: python mongodb pymongo

我在下面列出的代码行中收到了一个通用的Django错误。我很难理解pymongo文档如何为这个function设置参数。我在想我写错了。我有一组请求文件。每个请求文档都有一个"请求"带有值的键(subreddit_name +" F")。这就是我想通过查询和查找文档。每个文件还有一个" pdone"带有值的键(pdone变量)。这是我想要改变的文档中的关键值。

发生错误的代码行:

 self.collection_requests.find_one_and_update({'request': self.subreddit_name + "F"}, {'pdone': pdone}, return_document=ReturnDocument.AFTER)

以下是该集合文档的插入内容:

collection_requests.insert({'request': subreddit_name + "F", 'pdone': 0})

修改:在将代码更改为:self.collection_requests.find_one_and_update({'request': self.subreddit_name + "F"}, {'$set': {'pdone': pdone}}, return_document=ReturnDocument.AFTER)

后仍然在同一行代码中收到相同的错误

1 个答案:

答案 0 :(得分:2)

嗯......好像你忘了指定update operator 尝试类似的事情:

self.collection_requests.find_one_and_update({'request': self.subreddit_name + "F"}, {'$set': {'pdone': pdone}}, return_document=ReturnDocument.AFTER)