문서 홈 → 애플리케이션 개발 → 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부터 업데이트 연산자는 문자열 기반 이름이 있는 문서 필드를 사전순으로 처리합니다. 숫자 이름이 있는 필드는 숫자 순서대로 처리됩니다. 자세한 내용은 업데이트 운영자 동작을 참조하십시오.
예제
$push
연산자와 함께 $each
사용
다음 예시에서는 name
필드가 joe
인 문서의 scores
배열에 각 [ 90, 92, 85 ]
요소를 추가합니다.
db.students.updateOne( { name: "joe" }, { $push: { scores: { $each: [ 90, 92, 85 ] } } } )
$addToSet
연산자와 함께 $each
사용
컬렉션 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" ] }