在MongoDB中更新整个集合

时间:2019-09-20 17:32:16

标签: python mongodb

我有一个包含各种文档的MongoDB集合。我的Python脚本每隔一秒钟就会从API检索一些数据,我想使用文档的更新版本来更新集合的每个文档,因此必须更新整个集合。

result = db.main_tst.insert_one(dic)

这是我插入数据的方式。现在,我应该更新它,而不是插入dic。我如何在MongoDB中使用Python做到这一点?我知道有一种update_many()方法,但是我只找到了如何更新特定文档而不是整个文档集的方法。

1 个答案:

答案 0 :(得分:0)

应该很简单:

让我们假设如果您在下面考虑,它将字段名='N / A'的所有匹配文档更新为“无名称”:

filterQuery = { 'name': 'N/A'}
updateQuery = { "$set": { "name": "No name" } }

result = mycol.update_many(filterQuery, updateQuery);

对于需要更新集合中所有文档的需求,您要做的就是传递空{}代替过滤器,这意味着它应该更新所有文档:

filterQuery = {}
updateQuery = { "$set": { "name": "No name" } }

result = mycol.update_many(filterQuery, updateQuery)