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 中插入如下數(shù)據(jù): >db.col.insert({ title: 'MongoDB 教程', description: 'MongoDB 是一個 Nosql 數(shù)據(jù)庫', by: 'php中文網(wǎng)', url: 'http://m.miracleart.cn', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 }) 接著我們通過 update() 方法來更新標(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 是一個 Nosql 數(shù)據(jù)庫", "by" : "php中文網(wǎng)", "url" : "http://m.miracleart.cn", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } > 可以看到標(biāo)題(title)由原來的 "MongoDB 教程" 更新為了 "MongoDB"。 以上語句只會修改第一條發(fā)現(xiàn)的文檔,如果你要修改多條相同的文檔,則需要設(shè)置 multi 參數(shù)為 true。 >db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})