Documentation de mise à jour de MongoDB
MongoDB utilise les méthodes update() et save() pour mettre à jour les documents d'une collection. Examinons ensuite en détail les applications des deux fonctions et leurs différences.
Méthode update()
La méthode update() est utilisée pour mettre à jour un document existant. Le format de syntaxe est le suivant :
db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> } )
Description du paramètre :
query : conditions de requête de mise à jour, similaires à SQL mettre à jour la requête derrière où.
update : l'objet de mise à jour et certains opérateurs de mise à jour (tels que $, $inc...), etc., peuvent également être compris comme définis dans SQL update query Le
upsert suivant : facultatif, ce paramètre signifie s'il faut insérer objNew s'il n'y a pas d'enregistrement de mise à jour, true signifie insérer et la valeur par défaut est false Not. inséré.
multi : Facultatif, mongodb est par défaut false et ne met à jour que le premier enregistrement trouvé. Si ce paramètre est vrai, plusieurs conditions seront trouvées. mis à jour.
writeConcern : Facultatif, le niveau auquel l'exception est levée.
Instance
Nous insérons les données suivantes dans la collection col :
>db.col.insert({ title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', by: 'php中文网', url: 'http://www.php.cn', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 })
Ensuite nous mettons à jour le titre (title) via la méthode update() :
>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 } >
Vous pouvez voir que le titre a été mis à jour de "MongoDB Tutorial" à "MongoDB".
L'instruction ci-dessus ne modifiera que le premier document découvert. Si vous souhaitez modifier plusieurs documents identiques, vous devez définir le paramètre multi sur true.
>db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})
méthode save()
la méthode save() remplace le document existant par le document entrant. Le format de syntaxe est le suivant :
db.collection.save( <document>, { writeConcern: <document> } )
Description du paramètre :
document : données du document.
writeConcern : Facultatif, le niveau auquel l'exception est levée.
Instance
Dans l'exemple suivant, nous avons remplacé les données du document par _id 56064f89ade2f21f36b03136 :
>db.col.save({ "_id" : ObjectId("56064f89ade2f21f36b03136"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "php", "url" : "http://www.php.cn", "tags" : [ "mongodb", "NoSQL" ], "likes" : 110 })
Une fois le remplacement réussi, nous pouvons utiliser find () Commande pour afficher les données remplacées
>db.col.find().pretty() { "_id" : ObjectId("56064f89ade2f21f36b03136"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "php", "url" : "http://www.php.cn", "tags" : [ "mongodb", "NoSQL" ], "likes" : 110 } >
Plus d'instances
Mettre à jour uniquement le premier enregistrement :
Tout mettre à jour :
Ajoutez uniquement la première barre :
Mettre à jour uniquement le premier enregistrement :