文档菜单
文档首页
/
MongoDB 手册
/ / / /

$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

本页内容