Docs 菜单

Docs 主页开发应用程序MongoDB Manual

$each

在此页面上

  • 定义
  • 行为
  • 举例
$each

$each修饰符可与$addToSet操作符和$push操作符一起使用。

结合 $addToSet 操作符将多个值添加到数组 <field> 中(前提是 <field> 中不存在这些值)。

{ $addToSet: { <field>: { $each: [ <value1>, <value2> ... ] } } }

$push 操作符一起使用,将多个值附加到数组 <field>

{ $push: { <field>: { $each: [ <value1>, <value2> ... ] } } }

$push操作符可以将$each修饰符与其他修饰符一起使用。有关$push可用修饰符的列表,请参阅修饰符。

从 MongoDB 5.0 开始,更新操作符按字典顺序处理具有基于字符串的名称的文档字段。具有数字名称的字段按数字顺序处理。详情请参阅更新操作符行为

以下示例将 [ 90, 92, 85 ] 的每个元素附加到文档的 scores 数组,其中 name 字段等于 joe

db.students.updateOne(
{ name: "joe" },
{ $push: { scores: { $each: [ 90, 92, 85 ] } } }
)

集合 inventory 包含以下文档:

{ _id: 2, item: "cable", tags: [ "electronics", "supplies" ] }

然后,以下操作使用带有$addToSet $each修饰符的 操作符向tags 数组添加多个元素:

db.inventory.updateOne(
{ _id: 2 },
{ $addToSet: { tags: { $each: [ "camera", "electronics", "accessories" ] } } }
)

该操作仅将 "camera""accessories" 添加到 tags 数组。"electronics" 已在数组中:

{
_id: 2,
item: "cable",
tags: [ "electronics", "supplies", "camera", "accessories" ]
}
← $pullAll

在此页面上