le document MongoDB est mis à jour
MongoDB parupdate () et méthode save ()pour mettre à jour la collection de documents. Jetons un regard détaillé sur l'application et la différence entre les deux fonctions.
méthode de mise à jour ()
méthode update () est utilisée pour mettre à jour un document existant. La syntaxe est la suivante:
db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> } )
Description Paramètre:
- requête: mise à jour des critères de requête, similaire à la mise à jour requête sql où l'arrière intérieure.
- objets de mise à jour et certains des nouveaux opérateurs (tels que $, $ inc fr.), etc., peuvent également être compris comme un ensemble de retour dans la mise à jour requête sql: mise à jour
- upsert: en option, ce qui signifie cet argument est que s'il n'y a aucune mise à jour d'enregistrement, est inséré objNew, fidèle à insérer, la valeur par défaut est faux, pas inséré.
- multiples: en option, mongodb défaut est false, seulement pour trouver le premier enregistrement à mettre à jour, si cet argument est vrai, selon les conditions posées à de nombreux enregistrements vérifier toutes les mises à jour.
- writeConcern: exception de niveau en option est levée.
Exemples
Nous insérons la collecte des données col suivantes:
>db.col.insert({ title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', by: '本教程', url: 'http://www.w3write.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 })
Ensuite, nous devons mettre à jour le titre par la méthode update () (titre):
>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" : "本教程", "url" : "http://www.w3write.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } >
Vous pouvez voir le titre (titre) à partir de la mise à jour d'origine "Tutoriel MongoDB" à "MongoDB."
La déclaration ci-dessus va modifier le document trouvé dans le premier, si vous souhaitez modifier le même document et plus, vous devez régler le paramètre multidirectionnel vrai.
>db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})
méthode save ()
méthode save () en passant des documents pour remplacer le document existant. La syntaxe est la suivante:
db.collection.save( <document>, { writeConcern: <document> } )
Description Paramètre:
- document: les données du document.
- writeConcern: exception de niveau en option est levée.
Exemples
L'exemple suivant nous avons remplacé le _id comme 56064f89ade2f21f36b03136 les données du document:
>db.col.save({ "_id" : ObjectId("56064f89ade2f21f36b03136"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "w3big", "url" : "http://www.w3write.com", "tags" : [ "mongodb", "NoSQL" ], "likes" : 110 })
Après le remplacement est réussie, nous pouvons () commande pour afficher les données après le remplacement par find
>db.col.find().pretty() { "_id" : ObjectId("56064f89ade2f21f36b03136"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "w3big", "url" : "http://www.w3write.com", "tags" : [ "mongodb", "NoSQL" ], "likes" : 110 } >
D'autres exemples
Seulement mettre à jour le premier enregistrement:
Mettre à jour tous:
Ajoutez seulement la première:
Ajouter tous ajouté:
Mettre à jour tous:
Seulement mettre à jour le premier enregistrement: