我必须在Mongodb中进行批量更新,因为我仅将pymongo.bulk_write方法用于UpdateOne操作。
如果过滤器不匹配,我会从其他来源获取更多字段并插入文档。但这对于批量写入是不可能的,因为在批量写入的返回中,我得到具有以下字段的BulkWriteResult
'nInserted': 0
'nMatched': 100
'nModified': 80
'nRemoved': 0
'nUpserted': 0
'upserted': []
'writeConcernErrors': []
'writeErrors': []
没有匹配的ID /索引。
执行此流程的最佳方法是什么?
(我正在使用:Mongodb 3.6,python 3.6,pymongo 3.7)
示例:
文档模型字段=用户ID,用户名,姓氏,谷歌用户名
在更新时,仅last_seen应该被更新
db.collection.update( { "user_name": "xyz"},
{ "last_seen": 10000000 })
如果没有user_name,则插入所有字段
db.collection.insert({"userid": 1, "user_name": "xyz", "last_seen":10000000, google_username: "xyz@google.com"})
就像我将拥有这么多用户数据一样。