在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"]}