蒙戈返回上一個upserts寫結果:MongoDB的:獲取UPSERT結果pymongo
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
有什麼辦法,我可以從pymongo訪問這些領域?我需要這樣做,因爲更新始終在pymongo中不返回任何內容,我想知道我正在查詢的文檔是否已被修改,或者即使沒有執行其他查詢也存在。你能告訴我如何做到這一點嗎?
P.S.我知道這已經被問過,但幾年前,我能在谷歌找到的所有東西都沒有包含一個例子。
既然我們在這裏,有沒有辦法從upsert的結果中獲取文檔中的字段? (或者至少是_id)
解決方案:正如Neil Lunn所說,如果您希望從更新中發生的更多數據中獲得更多數據,Bulk API就是您的選擇。我只想指出這個API的快速walkthrough。
哪個版本的MongoDB? PyMongo的哪個版本?哪個客戶端類(Connection/MongoClient)? –
@JoachimIsaksson如所示的WriteResult來自批量操作API的MongoDB 2.6實現。當shell連接到支持這個的實例時,shell中的所有方法都會嘗試使用這個「引擎蓋下」。在前兩個小版本中,pymongo可以使用批量操作。那些跨越一段合理的時間。 –