몽고DB...sql query도 아니고...이것도 어렵네..에효
무튼 정답은 아래를 참고
일단 원하는 collection 에 원하는 document를 찾아 $set 이라는 키워드로 특정 필드값을 업데이트 하는 예제
아래는 전체를 찾아 workline 이라는 필드를 object id xxxxx 를 갖는 reference field 혹은 embedded document 값으로 변경하는 실제 명령 예제
> db.order_item.update({}, { $set: {"workline":ObjectId("602b5cc41c50452150fc5ad0")}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.order_item.update({}, { $set: {"workline":ObjectId("602b5cc41c50452150fc5ad0")}}, {multi:true})
WriteResult({ "nMatched" : 22, "nUpserted" : 0, "nModified" : 20 })
그런데 첨 수행하니 꼴랑 1개 바뀌었다고 해서, 더 찾아봐서....
업데이트를 여러개 하려면 꼭 뒤에 {multi:true} 옵션을 넣어줘야 하네 귀찮네..이거 안주니깐 그냥 1개만 업데이트 합니다.
무튼 성공
이를 위해선 아래 과정을 거쳐야
일단 mongo 명령어로 mongodb에 접속하고
> show databases
해서 DB 리스트를 보고 일단 아래 use 명령어로 일단 해당 컬렉션으로 진입해야 한다는 것은 잊지 말고
> use 원하는컬렉션
컬렉션 명이 궁금하면 아래 command
> show collections
인증을 하도록 되어 있다면, 반드시 아래 명령어로 admin 모드로 진입하시길
> use admin
> db.auth("admin", "패스워드" )
아래는 참조글 입니다.
stackoverflow.com/questions/15649613/db-collection-update-all-documents/15649813
BJ.
Miguel Á. Padriñán 님의 사진, 출처: Pexels
'IT > DB' 카테고리의 다른 글
MongoDB Compass 로 데이터 내보내기 (0) | 2021.02.19 |
---|---|
MongoDB find remove 예제 몇개 - mongo shell (0) | 2021.02.19 |
MongoDB 부분 문자열 검색 - MongoDB Compass 사용법 (0) | 2021.02.15 |
MongoDB Compass 이용시 연결 문자열 MongoDB GUI 도구 (0) | 2021.01.27 |
MongoDB 설치 - Windows 환경 (2) | 2015.07.24 |