Computer >> 컴퓨터 >  >> 프로그램 작성 >> MongoDB

기존 문서를 덮어쓰지 않고 MongoDB 문서를 업데이트하는 방법은 무엇입니까?

<시간/>

필드 값만 업데이트하려면 $set과 함께 update()를 사용합니다. 이것은 기존 것을 덮어쓰지 않습니다. 먼저 문서로 컬렉션을 만들어 보겠습니다. −

> db.demo401.insertOne(... {... "_id" :1001,... "Name" :"Chris",... "SubjectName" :"MongoDB",... "점수 " :45... }... );{ "승인됨" :true, "insertedId" :1001 }

find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -

> db.demo401.find();

이것은 다음과 같은 출력을 생성합니다 -

{ "_id" :1001, "Name" :"Chris", "SubjectName" :"MongoDB", "Score" :45 }

다음은 기존 문서를 덮어쓰지 않고 문서를 업데이트하는 쿼리입니다 -

> db.demo401.update({_id:1001}, {$set:{Score:89}})WriteResult({ "nMatched" :1, "nUpserted" :0, "nModified" :1 }) 

find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -

> db.demo401.find();

이것은 다음과 같은 출력을 생성합니다 -

{ "_id":1001, "이름":"크리스", "제목 이름":"MongoDB", "점수":89 }