Create 해봤고
Read 해봤고
Delete 해봤고
이제 U만 할줄 알면 솔직히 다 끝났다
이것도 하나만 업뎃하거나 뭉탱이로 업뎃하거나 두가지다
(ㄷㄷ 왜 뭉탱이로 업뎃 할일 뭐가 있음..?)
이거 한번 수정해 보자
특정 데이터만 갖고 오려면 어떻게 하라고?
요거만 있음 되다고오~
그럼 고쳐 보자
![]() |
|
![]() |
이런 결과값이 반영 되는데 modifiedCount(수정된)가 1 이라는건 수정된 문서는 하나란 말이다 |
![]() |
rating 점수 8점이고 pages 쪽수느 360으로 수정이 됬 |
이게 하나만 업데이트(수정)을 한 경우다
여기서 중요한건 저 두번째 인수로 들어간 {$set: { 바꿀필드: 값, 다른바꿀필드: 값 } }
여러개를 수정하려면..?
두개가 바꼈다
그니깐 이게 바뀌는 원리를 알아야 됨
저걸 읽어 보자면
db안에 books컬렉션에서 많이수정할건데 {저자가: "Terry Pratchett"}인걸 {$set: {저자가: "Terry Pratchet"}로 바
란 말이다
저기 문서 하나와 여러개를 바꾸는 두가지를 해봤음
연산자를 이용해 뭐 n카운트씩이든 올리는 그런게 있다
필요한건 역시 고유값인 _id다
![]() |
|
![]() |
뭐가 또 하나 바꼈다 하네? 보자고 |
![]() |
page가 362가 된걸 알수 있다 저거 할때마다 n씩 늘어나는거다 (오오 이거 좋아요 할수 있겠네..?) 그럼 숫자카운트 낮출수도 있겠네? |
$inc 반대 바로 해보자
![]() |
|
![]() |
바뀜... 뭐가? |
![]() |
이게! 아아 그렇구만 |
$inc 이걸로 특정 필드의 값을 늘리거나 줄일수 있다
이번엔 들어가있는 요소를 좀 꺼내와보자
타깃은 계속 같은 id놈꺼로. .
![]() |
|
![]() |
잘 바꼇고 |
![]() |
잘 빠진것도 확인. . |
여기서 사용한건 {$pull: } 이거다
들어있는 데이터 잡아 뺄때 쓴다
![]() |
|
![]() |
다시 집어 넣었다 |
넣을땐 {$push: } 를 쓰면 된다
다음으론 항목을 배열로 만들어 전체를 밀어 넣거나 하는게 있다
![]() |
|
![]() |
{$each: ["넣을값", "넣을값"]} 하게 되면 왼쪽과 같이 값이 들어가진 |
정리
특정 타깃 하나만 고치려면? 고유값인 id가 필요하고
updateOne()을 쓰라
특정 사용자의 글 여러개를 고친다면? 이름이 타깃이되면되고
updateMany()를 쓰라
db.books.updateOne({고유값 id와 유저명 같은건 첫번째 인자고}, { 두번째 인자는 $set 써서 {필드명: 고칠값}}) 써야 함
뭐 숫자 올리는건 { ... }, {두번째 인자에 $inc 를 쓰면 되는데 n이면 n만큼, -n이면 -n만큼} 오르고 내리고 한다
배열 안에 든 값 빼버리는건 { ... }, {두번째 인자에 $pull: {필드명: 값} }을 해주면 되고
배열 안에 값 넣어버리는건 { ... }, {두번째 인자에 $push: {필드명: 값} }을 해주면 된다
여러개를 넣을때는 또 달라지는데
{ ... }, {두번째 인자에 $push: { 필드명: { $each: [ "값1", "값2"] } } } 해주면 된다
'SQL' 카테고리의 다른 글
16) mongoDB Tutorial - DB 연결하기 (0) | 2023.10.09 |
---|---|
15) mongoDB Tutorial - MongoDB Drivers (0) | 2023.10.08 |
13) mongoDB Tutorial - Collection에서 Document 삭제하기 (0) | 2023.10.06 |
12) mongoDB Tutorial - 배열 쿼리 (0) | 2023.10.06 |
11) mongoDB Tutorial - $in과 $nin (포함과 안포함) (0) | 2023.10.06 |