Loading...

DB/MongoDB / / 2022. 4. 28. 15:45

몽고DB 7강. update

반응형

첫번째 인수는 찾는 것, 두번째 인수는 변경할 값

{

id:1,

username:"ssar"

} 인데

 

db.users.update({id:1}, {username:"hong"})으로 바꾸려고할때

 

id를 찾아서 hong으로 바꾸는게 아니라

통으로 바꿔버린다.

 

이걸 해결하는 방법이 $set붙이기!

db.users.updateOne({id:1}, {$set:{username: "hong"}});

 

document에 없는 키를 넣을 경우 필드가 추가된다.

필드가 없으면 추가되고 있으면 변경된다.

 

update에는 옵션이 있다.

 

1. update 옵션 (기본값: false) updateOrInsert

이 값이 true 로 설정되면 query한 document가 없을 경우, 새로운 document를 추가한다.

db.users.updateOne({id:4}, {$set:{email: "hong@nate.com"}}, {upsert:true});

 

2. multi 옵션 (기본값: false)

이 값이 true 로 설정되면, 여러개의 document 를 수정한다.

db.users.update({email:"hong@nate.com"}, {$set:{email:"ssar@nate.com"}}, {multi:true});

 

문서가 아닌 필드를 날리고싶을 때는 update를 사용한다.

update로 문서자체를 날릴수는 없음 !!

db.users.update({id:4}, {$unset:{email:"ssar@nate.com"}});

 

 

[출처]

 

https://cafe.naver.com/metacoding

 

메타코딩 : 네이버 카페

코린이들의 궁금증

cafe.naver.com

메타 코딩 유튜브

https://www.youtube.com/c/%EB%A9%94%ED%83%80%EC%BD%94%EB%94%A9

 

메타코딩

문의사항 : getinthere@naver.com 인스타그램 : https://www.instagram.com/meta4pm 깃헙 : https://github.com/codingspecialist 유료강좌 : https://www.easyupclass.com

www.youtube.com

 
반응형