update

英[??p?de?t]? ?美[?p?det]??

#vt.更新,將現(xiàn)代化;校正,修正

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

MongoDB update()方法 語(yǔ)法

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

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

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

MongoDB update()方法 範(fàn)例

我們?cè)诩?nbsp;col 中插入如下數(shù)據(jù):

>db.col.insert({
    title: 'MongoDB 教程', 
    description: 'MongoDB 是一個(gè) Nosql 數(shù)據(jù)庫(kù)',
    by: 'php中文網(wǎng)',
    url: 'http://miracleart.cn',
    tags: ['mongodb', 'database', 'NoSQL'],
    likes: 100
})
接著我們通過(guò) update() 方法來(lái)更新標(biāo)題(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 是一個(gè) Nosql 數(shù)據(jù)庫(kù)",
        "by" : "php中文網(wǎng)",
        "url" : "http://miracleart.cn",
        "tags" : [
                "mongodb",
                "database",
                "NoSQL"
        ],
        "likes" : 100
}
>
可以看到標(biāo)題(title)由原來(lái)的 "MongoDB 教程" 更新為了 "MongoDB"。

以上語(yǔ)句只會(huì)修改第一條發(fā)現(xiàn)的文檔,如果你要修改多條相同的文檔,則需要設(shè)置 multi 參數(shù)為 true。

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