update

English [ˌʌpˈdeˈt] US [ʌpˈdet]

vt. 업데이트, 현대화, 수정

n 업데이트된 정보;

MongoDB 업데이트() 메서드 통사론

함수: 컬렉션의 문서를 업데이트하는 update() 메서드

구문: ​​db.collection.update(<query>,<update>, {upsert: <boolean>,multi: <boolean> ;,writeConcern: <document>})

매개변수: query: 업데이트 쿼리 조건, SQL 업데이트 쿼리 뒤에 있는 위치와 유사합니다. 업데이트: 업데이트 개체 및 일부 업데이트 연산자(예: $, $inc...) 등은 SQL 업데이트 쿼리: 선택 사항에 설정된 후 upsert로 이해될 수도 있습니다. 이 매개 변수는 업데이트 레코드가 없는 경우 여부를 의미합니다. objNew를 삽입하려면 true는 삽입을 의미하고 기본값은 false이며 삽입이 아닙니다. multi: 선택사항, mongodb의 기본값은 false이며, 발견된 첫 번째 레코드만 업데이트됩니다. 이 매개변수가 true인 경우 조건에 따라 발견된 여러 레코드가 모두 업데이트됩니다. writeConcern: 선택 사항이며 예외가 발생하는 수준입니다.

MongoDB 업데이트() 메서드 예

我们在集合 col 中插入如下数据:

>db.col.insert({
    title: 'MongoDB 教程', 
    description: 'MongoDB 是一个 Nosql 数据库',
    by: 'php中文网',
    url: '//m.sbmmt.com',
    tags: ['mongodb', 'database', 'NoSQL'],
    likes: 100
})
接着我们通过 update() 方法来更新标题(title):

>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" : "//m.sbmmt.com",
        "tags" : [
                "mongodb",
                "database",
                "NoSQL"
        ],
        "likes" : 100
}
>
可以看到标题(title)由原来的 "MongoDB 教程" 更新为了 "MongoDB"。

以上语句只会修改第一条发现的文档,如果你要修改多条相同的文档,则需要设置 multi 参数为 true。

>db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})