我剛開始使用 pymongo。然后,我創建了一個 for 回圈來將資料插入 MongoDB。但是,當插入的資料和現有MongoDB中的資料是同一個ID時,我想更新現有MongoDB中的資料。我不知道該怎么做。
#in mongoDB
collection = [
{"_id" : 1234 ,
"like" : ["dog"]
}, ...
]
#in python
data = [
{ "_id" : 1234 ,
"like" : ["cat"]
}, ...
]
client = pymongo.MongoClient(host)
db = client[collection_name]
col = db[documents_name]
for i in data:
col.insert_one(data)
# result in mongoDB
collection = [
{"_id" : 1234 ,
"like" : ["dog","cat"]
}, ...
]
uj5u.com熱心網友回復:
MongoDB 插入物件,ObjectID它成為插入檔案的主要標識。這通常在服務器中自動生成以保持唯一性。
如果您想使用自己的自定義 ObjectId 插入(不推薦),那么您需要在 bson 包中傳遞帶有 objectid 參考的資料,而不是純字串。喜歡
{"_id":ObjectId("..."), ..}
是的,如果存在,您需要更新,因為您需要使用版本upsert而不是插入。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/449271.html
上一篇:定義時不呼叫函式
下一篇:如何解決“比較未定義”的問題?
