Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中调用replace_one时发生异常_Python_Pymongo - Fatal编程技术网

在Python中调用replace_one时发生异常

在Python中调用replace_one时发生异常,python,pymongo,Python,Pymongo,我正在尝试替换一个文档 import pymongo connection = pymongo.MongoClient("mongodb://localhost:27017") db = connection.test collection = db.foo query = {} try: cursor = collection.find(query) except Exception as e: print "Exception: ", type(e), e for

我正在尝试替换一个文档

import pymongo

connection = pymongo.MongoClient("mongodb://localhost:27017")

db = connection.test
collection = db.foo

query = {}

try:
    cursor = collection.find(query)
except Exception as e:
    print "Exception: ", type(e), e

for doc in cursor:
    collection.replace_one({"_id", doc["_id"]}, {"foo", 1})
但是,当我运行此命令时,我得到:

TypeError: filter must be an instance of dict, bson.son.SON, or other type that inherits from collections.Mapping

这是怎么回事?我的
replace\u one
方法与pymongo文档中的方法相同。

查看项目之间的逗号,您正在传递一组:

但应该通过字典:


替换文档也是如此-
{“foo”:1}
而不是
{“foo”,1}

请参见项目之间的逗号,您正在传递一组:

但应该通过字典:


替换文档也是一样的-
{“foo”:1}
而不是
{“foo”,1}

谢谢,只是我刚刚开始使用Python。谢谢,只是我刚刚开始使用Python。
{"_id", doc["_id"]}
{"_id": doc["_id"]}