연산자

1. 필드 수정 연산자.

  1. $inc : 필드 값 증감
  2. $mul : 필드에 곱하는 연산자
  3. $rename : 필드명 변경
  4. $set : 필드 값을 변경
  5. $setOnInsert : $set과 유사하지만 upsert의 경우만 작동
  6. $unset : 필드 제거
  7. $min : 필드 값이 주어진 값보다 클 경우 새 값으로 교체
  8. $max : 필드의 값이 주어진 값보다 작을 경우 새 값으로 교체
  9. $currentDate : 현재 날짜로 교체 ({$currentDate: {field: true})

2. 배열

  1. $ : 배열의 요소를 지칭 (db.target.update({list:2}, {'list.$': 5}))
  2. $addToSet : 해당 요소가 없으면 추가(set의 add와 같음)
  3. $pop : 맨앞, 맨뒤 요소를 꺼낸다.(shift + pop) ({$pop:{field1:1, field2:2}})
  4. $pull : 조건을 만족하는 특정 요소를 꺼냄 ( {$pull: {조건1, 조건2}} )
  5. $pullAll : 일치하는 값을 배열에서 꺼낸다.( {$pullAll: { field: [val1, val2, ... ]}} )
  6. $push : 배열 필드 값을 push ({$push: {field1: val1, field2: val2} })
  7. $each : 배열을 순회한다. ({$addToSet: { field: { $each: Array[] } } })
  8. $position : $push할 위치를 지정하는 역할 ({ $push: { 필드: { $each: 배열, $position: 위치 } })