首页 > 解决方案 > 使用 MongoDB 一次更新具有不同值的不同文档中的相同字段

问题描述

我没有找到类似于我的问题,我不确定这是否可能。我有几个文件,每个文件都是一个人,例如:

{
  "name" = "Paul",
  "score" = 105
}
{
  "name" = "John",
  "score" = 98
}

在更新之前,我有一个带有名称和新分数的字典(在 python 中){"Paul": 107, "John": 92}。如何在一个请求中更新字典中所有文档的分数?

标签: python-3.xmongodbnosql

解决方案


您不能在单个查询中更新具有不同条件的多个文档。您可以参考 MongoDB更新文档。MongoDB 引入了一个新参数multi但它有不同的含义。使用参数更新查询{ multi: true }将仅更新多个文档,这些文档将匹配我们在查询部分设置的相同条件。

或者,您可以通过查询循环更新多个文档。MongoDB 中仍然缺少此功能,因此我们也在以相同的方式做这样的事情。


推荐阅读