populate : 다른 컬렉션에있는 도큐먼트를 참조하느데 사용된다(sql에 Join과 비슷한 기능)
update - eq
const test = ()=>{
return userModel.updateMany({
"name" : { $eq : 'a' }
}, { $set : { "name" : 'b' }
}, { upsert: true, multi: true, new : true }
).lean(); }
1. name 키를 가진 것중 a를 찾아 ($eq)
2. name 을 b로 바꿉니다. ($set)
3. upsert를 true로 해주면 해당 document 가 없으면 insert 를 해줍니다
몇개를 바꾸었는지를 객체로 볼 수 있습니다.
update - lean : 무려 성능차이에서 4배를 일으키는 이 lean은 순수 자바스크립트 객체를 리턴하는데 쓰입니다.
update - in
1. name 중에 a, b, c중에 하나라도 있으면.. ($in)
update - push & each
2. list에 [1, 2, 3]을 추가시킵니다. ($push),여러 값을 추가($each)
update - ne
1. eq의 반대입니다. ne, 즉 name값이 a가 아닌 것을 뜻합니다.
update - addToSet
addToSet 은 push를 하는데 중복인 요소를 제외하고 push를 합니다. set의 발전형태입니다.
단 이는 배열에 국한됩니다. "배열"에 push를 하는데 중복을 제외하고 싶다? 그렇다면 addToSet을 쓰면 됩니다. 그렇지 않을 경우에는 $set을 쓰면 해결이 됩니다.
'면접공부 > DB' 카테고리의 다른 글
SQL || NOSQL (0) | 2021.05.21 |
---|