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" ] }

然后,以下操作使用带有 $each修饰符的 $addToSet 操作符向 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

在此页面上