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

根据两个条件更新MongoDB中指定字段的查询

尉迟明辉
2023-03-14
本文向大家介绍根据两个条件更新MongoDB中指定字段的查询,包括了根据两个条件更新MongoDB中指定字段的查询的使用技巧和注意事项,需要的朋友参考一下

为此,请使用UPDATE()方法,并在其中设置两个条件。让我们创建一个包含文档的集合-

> db.demo605.insertOne(
...    {
...       _id:1,
...       "Information" : [
...          {
...             "id" : "Product-1",
...             "Quantity" : 50,
...          },
...          {
...             "id" : "Product-2",
...             "Quantity" : 100,
...          },
...       ]
...    }
... );
{ "acknowledged" : true, "insertedId" : 1 }
>
>
> db.demo605.insertOne(
...    {
...       _id:2,
...       "Information" : [
...          {
...             "id" : "Product-1",
...             "Quantity" : 30,
...          },
...          {
...             "id" : "Product-2",
...             "Quantity" : 40,
...          },
...       ]
...    }
... );
{ "acknowledged" : true, "insertedId" : 2 }

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

> db.demo605.find();

这将产生以下输出;

{ "_id" : 1, "Information" : [
   { "id" : "Product-1", "Quantity" : 50 },
   { "id" : "Product-2", "Quantity" : 100 }
] }
{ "_id" : 2, "Information" : [
   { "id" : "Product-1", "Quantity" : 30 },
   { "id" : "Product-2", "Quantity" : 40 }
] }

以下是根据两个条件更新MongoDB中数量的查询-

>db.demo605.update({_id:1,"Information.id":"Product1"},
   {$set:{"Information.$.Quantity":1000}}
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

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

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

这将产生以下输出-

{
   "_id" : 1,
   "Information" : [
      {
         "id" : "Product-1",
         "Quantity" : 1000
      },
      {
         "id" : "Product-2",
         "Quantity" : 100
      }
   ]
}
{
   "_id" : 2,
   "Information" : [
      {
         "id" : "Product-1",
         "Quantity" : 30
      },
      {
         "id" : "Product-2",
         "Quantity" : 40
      }
   ]
}
 类似资料:
  • 我有一个MongoDb数据库,其中包含一个名为的集合。在中,我希望通过属性搜索特定对象。我想更新找到的对象中的数组内容。例如,最初,在向该endpoint发出请求之前,所需的数据如下所示: 发出类似的请求后,mongodb中的数据应更新为 这是我的文件,为了执行它,注释中的代码应该是什么?

  • 问题内容: 我想基于(不是)使用新文档更新此文档。 像这样: elasticsearch版本:6.2,ES Java API:6.2 问题答案: 您基本上可以使用查询API更新来实现所需的功能,基本上是这样的: 更新:使用Java API 有关使用UpdateByQuery Java API 和Java高级Rest 客户端的更多详细信息

  • 例如,我可以运行这个mongo查询: 我们如何用代码和spring MongoTemplate来实现这一点呢?例如,下面是UPDATE一个值的代码: Update#set方法似乎只接受一个(key、value),而不接受多值或值列表。

  • 这是我在mongo的文档: 我需要更新内部房间阵列中的对象。我尝试了一个选择匹配元素的查询没有语法错误,但出现了一个错误: “errmsg”:“字段“calendar.0.rooms.0.price”必须是数组,但在文档{u id:ObjectId('5cd26a886458720f7a66a3b8')中为字符串类型”, 这是我的疑问: 这是我在StackOverflow中找到的一些参考,但没有帮

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

  • 问题内容: 我想知道模式草案03是否可行。我已经在其他地方使用了依赖项,我认为可能需要创造性地使用它们,以便使用它们来指定某些字段的属性。 我目前的最佳尝试(无效)将使您对我的追求有所了解。我想要一个默认值,当另一个字段具有特定值时是可选值。 问题答案: 草案的第3版绝对可以做到这一点。由于您具有允许的国家/地区的完整列表,因此您可以执行以下操作: 因此,您实际上为架构定义了两种子类型,一种用于需