MongoDB 업데이트 문서
MongoDB는 update() 및 save() 메소드를 사용하여 컬렉션의 문서를 업데이트합니다. 다음으로 두 기능의 활용 및 차이점을 자세히 살펴보겠습니다.
update() 메소드
update() 메소드는 기존 문서를 업데이트하는 데 사용됩니다. 구문 형식은 다음과 같습니다:
db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> } )
매개변수 설명:
query : 쿼리 조건 업데이트, sql과 유사 어디 뒤에 쿼리를 업데이트합니다.
업데이트 : 업데이트 개체 및 일부 업데이트 연산자(예: $, $inc...) 등도 SQL 업데이트 내에서 설정된 것으로 이해될 수 있습니다. query 다음
upsert : 선택 사항입니다. 이 매개 변수는 업데이트 기록이 없는 경우 objNew를 삽입할지 여부를 의미하고, true는 삽입을 의미하며, 기본값은 false입니다. 삽입됨.
multi : 선택사항, mongodb의 기본값은 false이며, 이 매개변수가 true이면 여러 조건이 검색됩니다. 업데이트되었습니다.
writeConcern : 선택 사항, 예외가 발생하는 수준입니다.
Instance
컬렉션 열에 다음 데이터를 삽입합니다:
>db.col.insert({ title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', by: 'php中文网', url: 'http://www.php.cn', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 })
그런 다음 update() 메서드를 통해 제목(제목)을 업데이트합니다. :
>db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) # 输出信息 > db.col.find().pretty() { "_id" : ObjectId("56064f89ade2f21f36b03136"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "php中文网", "url" : "http://www.php.cn", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } >
제목이 "MongoDB Tutorial"에서 "MongoDB"로 변경된 것을 확인할 수 있습니다.
위 명령문은 처음 발견된 문서만 수정합니다. 여러 개의 동일한 문서를 수정하려면 multi 매개변수를 true로 설정해야 합니다.
>db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})
save() 메서드
save() 메서드는 기존 문서를 들어오는 문서로 바꿉니다. 구문 형식은 다음과 같습니다:
db.collection.save( <document>, { writeConcern: <document> } )
매개변수 설명:
document : 문서 데이터.
writeConcern : 선택 사항, 예외가 발생하는 수준입니다.
인스턴스
다음 예에서는 문서 데이터를 _id 56064f89ade2f21f36b03136으로 바꾸었습니다.
>db.col.save({ "_id" : ObjectId("56064f89ade2f21f36b03136"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "php", "url" : "http://www.php.cn", "tags" : [ "mongodb", "NoSQL" ], "likes" : 110 })
교체가 성공한 후 find를 사용할 수 있습니다. () 대체된 데이터를 보는 명령
>db.col.find().pretty() { "_id" : ObjectId("56064f89ade2f21f36b03136"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "php", "url" : "http://www.php.cn", "tags" : [ "mongodb", "NoSQL" ], "likes" : 110 } >
추가 인스턴스
첫 번째 레코드만 업데이트:
모두 업데이트:
첫 번째 Bar만 추가 :
첫 번째 레코드만 업데이트: