【发布时间】:2020-09-26 16:16:56
【问题描述】:
Pymongo,Python3。真是绞尽脑汁。试过update_one() 和find_one()和update()。尝试使用 mongo id "_id" 以及我在每个文档中设置的已知 ID。文档中没有任何更新。谁能告诉我我哪里出错了?
最后一次尝试见下文。想要遍历所有集合和每个集合中的所有文档并更新特定字段。
使用update_one() 和ID 我知道文档中存在:
for collection in collectionNames:
for doc in movie_db[str(collection)].find():
new_path = get_updated_poster()
new_path_url = base_url + new_path
result = movie_db.collection.update_one({'id':int(ID)},{'$set':{'poster_path':new_path_url}})
使用 find_one_and_update(),甚至尝试复制“_id”也无济于事(注意我这里还添加了“from bson.objectid import ObjectId”:
for collection in collectionNames:
for doc in movie_db[str(collection)].find():
new_path = get_updated_poster()
new_path_url = base_url + new_path
result = movie_db.collection.update_one(
{"_id":ObjectId(id)},
{"$set": {
"poster_path": new_path
}
}, upsert=False)
【问题讨论】:
-
删除条件中的类型转换,然后如果您仍然有困难,请发布您正在使用的文档和条件。