몽고DB 명령어 - update(1)

hyssop·2023년 10월 20일

준비된 데이터

1) 데이터 수정

db.col1.updateOne(
  {name : '김원봉'},
  {$set: 
    {'age' : 50}
	}
)

2) 새로운 데이터 입력

db.col1.updateOne(
  {name : '김원봉'},
  {$push: {'etc' : {'hobby' : ['사격', '}}}
)

** 배열로 데이터를 넣을 때는 '[]'를 넣어주어야 한다.

3) 데이터 제거

db.col1.updateOne(
  {name : '김원봉'},
  {$pull: {'etc' : {'state' : '대한민국임시정부'}}}
)

4) 입력된 데이터를 제외한 데이터는 제거할 경우

db.col4.updateOne(
  {name : '이순신'}, 
  {$set: {'etc' : {'friends' : ['류성룡', '안위']}}}
)

5) 하나의 배열 중 하나의 요소만 수정하고 싶은 경우

  • arrayFilter를 걸어줘야 한다.
db.col4.updateOne(
  {name : '홍범도'}, 
  {$set: {'etc.$[el].friends' : '사격'}}, 
  {arrayFilters: [{'el.hobby' : '없음'}]}
)

  • 배열로 변경
db.col4.updateOne(
  {name : '홍범도'}, 
  {$set: {'etc.$[el].state' : ['임시정부', '간도자치위원회']}}, 
  {arrayFilters: [{'el.state' : '대한독립군'}]}
)

6) pop : -1, 1이 들어가고 -1이면 첫 번째 데이터가 지워지고 1이면 마지막 데이터가 지워진다.

db.col5.updateMany(
  {name : '을지문덕'},
  {$pop : {etc : -1}}
)

0개의 댓글