使用PyMongo,我在一个列表中有一组dict,我想提交给我的MongoDB.列表中的一些项目是新条目,一些是要更新的.

例子:

On Server Database:

[{"_id" : 1, "foo" : "bar}]

To send to database:

[{"_id" : 1, "foo" : "HELLO"}, {"_id" : 2, "Blah" : "Bloh"}]

我目前正在使用以下方法插入文档,但我将如何执行上述操作?感谢您的帮助!

collection.insert(myDict)

推荐答案

使用upsert选项:

from pymongo import MongoClient
cl = MongoClient()
coll = cl["local"]["test2"]

data = [{"_id" : 1, "foo" : "HELLO"}, {"_id" : 2, "Blah" : "Bloh"}]
for d in data:
    coll.update({'_id':d['_id']}, d, True)

Mongodb相关问答推荐

MongoDB:从集合页面数据中提取不同的值

$mod只支持数字类型,不支持MongoDb中的array和int

数组字段包含其他字段的数组值

分组前的 MongoDb 聚合总数

MongoDB PHP UTF-8 问题

无法使用机器 ip 连接到 mongodb

具有最佳插入/秒性能的数据库?

MongoDB 文档操作是原子的和隔离的,但它们是否一致?

MongoDB 2.1 聚合框架总和匹配名称的数组元素

什么 Javascript 库可以针对对象判断类似 MongoDB 的查询谓词?

使用 brew upgrade Mongo update from 3.4 to 4.0 报错:在try 升级到 4.0 之前,数据文件需要完全升级到 3.6 版

如何在任意深度查找 MongoDB 字段名称

mongodb-nodejs-driver,DeprecationWarning:collection.count 已弃用

Node + Mongoose:获取最后插入的 ID?

MongoDB Java API:put() 与 append()

mongoose 使用 $cond 中的 $exists 聚合

Mongodb $lookup 使用 _id 无效果

120 个 mongodb 集合与单个集合 - 哪个更有效?

Lombok - java.lang.StackOverflowError:toString 方法上的 null

MongoDB - $set 更新或推送数组元素