参考 > 参考 > 经营者 > 更新运算符 > 数组更新运算符 > $每个
在本页面
$each
该$each改性剂可与使用 $addToSet运营商和$push 运营商。
$addToSet
$push
如果值中不存在$addToSet多个值,请与运算符配合使用,以将多个值添加到数组<field>中<field>。
<field>
{ $addToSet: { <field>: { $each: [ <value1>, <value2> ... ] } } }
与$push运算符一起使用,可以将多个值附加到数组中<field>。
{ $push: { <field>: { $each: [ <value1>, <value2> ... ] } } }
该$push操作员可以使用$each调节剂与其他修饰。有关可用修饰符的列表 $push,请参见修饰符。
以下示例将字段等于的文档的每个元素追加到文档的数组中:[ 90, 92, 85 ]scoresnamejoe
[ 90, 92, 85 ]
scores
name
joe
db.students.update( { name: "joe" }, { $push: { scores: { $each: [ 90, 92, 85 ] } } } )
集合inventory具有以下文档:
inventory
{ _id: 2, item: "cable", tags: [ "electronics", "supplies" ] }
然后,以下操作将$addToSet运算符与$each修饰符一起使用,以将多个元素添加到 tags数组中:
tags
db.inventory.update( { _id: 2 }, { $addToSet: { tags: { $each: [ "camera", "electronics", "accessories" ] } } } )
操作仅增加"camera"以及"accessories"对 tags数组,因为"electronics"数组中已经存在:
"camera"
"accessories"
"electronics"
{ _id: 2, item: "cable", tags: [ "electronics", "supplies", "camera", "accessories" ] }