update

英[ˌʌpˈdeɪt]   美[ʌpˈdet]  

#vt.更新,將現代化;校正,修正

#n.現代化;更新的資訊;更新的行為或事例

MongoDB update()方法 語法

作用:update() 方法來更新集合中的文件

語法:db.collection.update(<query>,<update> , {upsert: <boolean>,multi: <boolean>,writeConcern: <document>})

#參數:query : date的查詢條件,類似查詢條件,類似sql update查詢內where後面的。 update : update的物件和一些更新的運算子(如$,$inc...)等,也可以理解為sql update查詢內set後面的upsert : 可選,這個參數的意思是,如果不存在update的記錄,是否插入objNew,true為插入,預設為false,不插入。 multi : 可選,mongodb 預設是false,只更新找到的第一筆記錄,如果這個參數為true,就把按條件查出來多筆記錄全部更新。 writeConcern :可選,拋出異常的等級。

MongoDB update()方法 範例

我们在集合 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})
#