当前位置: 首页 > 编程笔记 >

MongoDB查询以公式更新集合中文档的每个字段

崔琦
2023-03-14
本文向大家介绍MongoDB查询以公式更新集合中文档的每个字段,包括了MongoDB查询以公式更新集合中文档的每个字段的使用技巧和注意事项,需要的朋友参考一下

要使用公式更新集合中文档的每个字段,请使用MongoDB update()。让我们创建一个包含文档的集合-

> db.demo749.insertOne({"details":[{"id":1,a:10},{"id":2,a:5},{"id":3,a:20}]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eae6fb0a930c785c834e565")
}

在find()方法的帮助下显示集合中的所有文档-

> db.demo749.find().pretty();

这将产生以下输出-

{
   "_id" : ObjectId("5eae6fb0a930c785c834e565"),
   "details" : [
      {
         "id" : 1,
         "a" : 10
      },
      {
         "id" : 2,
         "a" : 5
      },
      {
         "id" : 3,
         "a" : 20
      }
   ]
}

以下是使用公式更新集合中文档的每个字段的查询-

> db.demo749.update(
...    {
...
...    },
...    {
...       $mul: { "details.$[].a": 2/5}
...    },
...    { multi:true}
... )
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

在find()方法的帮助下显示集合中的所有文档-

> db.demo749.find().pretty();

这将产生以下输出-

{
   "_id" : ObjectId("5eae6fb0a930c785c834e565"),
   "details" : [
      {
         "id" : 1,
         "a" : 4
      },
      {
         "id" : 2,
         "a" : 2
      },
      {
         "id" : 3,
         "a" : 8
      }
   ]
}

 类似资料:
  • 本文向大家介绍MongoDB中一次查询更新多个文档,包括了MongoDB中一次查询更新多个文档的使用技巧和注意事项,需要的朋友参考一下 要通过单个查询更新许多文档,请在MongoDB中使用 bulkWrite()。让我们创建一个包含文档的集合- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出- 以下是使用MongoDB中的一个查询来更新许多文档的查询- 在find()方法的帮助

  • 如何在Cloud Firestore中查询每个CollectionGroup的最新文档? 组中每个收藏中只有一个文档,最近的!

  • 本文向大家介绍MongoDB查询中如何更新嵌套文档,包括了MongoDB查询中如何更新嵌套文档的使用技巧和注意事项,需要的朋友参考一下 要更新嵌套文档,请使用update(),并在其中使用点号。让我们创建一个包含文档的集合- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出- 以下是更新嵌套文档的查询- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出-

  • 在Firestore中,我有一个用户集合,在每个用户文档中存储一个名为favorites的集合,该集合包含标记为favorites(存储)的文档的ID 我可以采取另一种方法来获取两个集合并手动过滤它们,但我使用的是Firebase RecycerView适配器,它显示的所有数据都基于查询,这将使事情更加高效。 这样的结果是如何实现的呢?如果需要进一步的解释,请告诉我

  • 我有两个收藏(A和B),每个收藏约70000份文档。如果我比较A和B,95%的文档是相同的,只有5%是不同的。每个文档的结构在A和B中完全相同。A是一个固定集合,B是一个临时集合。我想将B合并到A中。如果A中存在来自B的文档-- ...我正在使用Python驱动程序(如果有必要的话)。 最有效的方法是什么?非常感谢。

  • 在更新这个庞大的集合时,下面的迁移代码似乎被卡住了。 应用程序日志的最后几行表示已调用更改集,但随后的更改集未被调用。 2021-05-11 08:00:29.385INFO[product-service,,] 1 --- [ main]c.a.a.mongock.changelog.迁移:将租户添加到产品 2021-05-11 08:00:29.576信息[产品服务,,,]1---[br>ma