$each
定义
行为
从MongoDB 5.0开始,更新操作符按字典顺序处理以字符串命名的文档字段。具有数字名称的字段按数字顺序处理。有关详细信息,请参阅更新操作符行为。
示例
使用$each与$push操作符
以下示例将数组[ 90, 92, 85 ]中的每个元素追加到文档的scores数组中,其中name字段的值等于joe
db.students.updateOne( { name: "joe" }, { $push: { scores: { $each: [ 90, 92, 85 ] } } } )
使用 $each 与 $addToSet 操作符
集合 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" ] }