update

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

vt. Mettre à jour, moderniser, modifier

Modifier les informations ou les instances mises à jour ;

Méthode MongoDB update() syntaxe

Fonction : Méthode update() pour mettre à jour les documents de la collection

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

Paramètres : query : conditions de requête de mise à jour, similaires à celles derrière la requête de mise à jour SQL. update : l'objet de mise à jour et certains opérateurs de mise à jour (tels que $, $inc...), etc., peuvent également être compris comme upsert après avoir été définis dans la requête de mise à jour SQL : facultatif, ce paramètre signifie que s'il n'y a pas d'enregistrement de mise à jour, que ce soit pour insérer objNew, true signifie insérer, la valeur par défaut est false, pas insérer. multi : Facultatif, la valeur par défaut de mongodb est false et seul le premier enregistrement trouvé est mis à jour. Si ce paramètre est vrai, tous les enregistrements multiples trouvés selon les conditions seront mis à jour. writeConcern : facultatif, niveau auquel l'exception est levée.

Méthode MongoDB update() exemple

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

>db.col.insert({
    title: 'MongoDB 教程', 
    description: 'MongoDB 是一个 Nosql 数据库',
    by: 'php中文网',
    url: 'http://www.php.cn',
    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" : "http://www.php.cn",
        "tags" : [
                "mongodb",
                "database",
                "NoSQL"
        ],
        "likes" : 100
}
>
可以看到标题(title)由原来的 "MongoDB 教程" 更新为了 "MongoDB"。

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

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