$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부터 업데이트 연산자는 문자열 기반 이름이 있는 문서 필드를 사전순으로 처리합니다. 숫자 이름이 있는 필드는 숫자 순서대로 처리됩니다. 자세한 내용은 업데이트 운영자 동작을 참조하십시오.
예시
연산자와 $each
$push
함께사용
다음 예시에서는 name
필드가 joe
인 문서의 scores
배열에 각 [ 90, 92, 85 ]
요소를 추가합니다.
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" ] } } } )
이 작업은 tags
배열에 "camera"
및 "accessories"
만 추가합니다. "electronics"
이 이미 배열에 있었습니다:
{ _id: 2, item: "cable", tags: [ "electronics", "supplies", "camera", "accessories" ] }