MongoDB notes (4) -créer, mettre à jour, supprimer des documents

Insérer un document:

insérer () ou enregistrer ()

> db.demo.save({name:"myName",age:18,hobby:["music","movie"]})
WriteResult({ "nInserted" : 1 })
> 

Demandes:

trouver()

> db.demo.find()
{ "_id" : ObjectId("5e788c89a3edd4aa4ff0c2bd"), "name" : "myName", "age" : 18, "hobby" : [ "music", "movie" ] }
> 

Insérer après avoir défini comme variable

> info2=({name:"yourName",age:20,hobby:["drawing","run"]})
{ "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ] }
> db.demo.insert(info2)
WriteResult({ "nInserted" : 1 })
> 

Mise à jour:


format de syntaxe update ()

db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)
  • Description des paramètres:
    • requête : La condition de requête de mise à jour est similaire à celle de la requête de mise à jour SQL.
    • update : objet de mise à jour et certains opérateurs de mise à jour (tels que , , inc ...), etc., peut également être comprise comme la requête de mise à jour sql après l'ensemble
    • upsert : Facultatif, ce paramètre signifie que s'il n'y a pas d'enregistrement de mise à jour, s'il faut insérer objNew, true est inséré, la valeur par défaut est false, pas inséré.
    • multi : facultatif, mongodb par défaut est false, ne met à jour que le premier enregistrement trouvé, si ce paramètre est vrai, il mettra à jour tous les enregistrements en fonction de la condition.
    • writeConcern : facultatif, le niveau auquel une exception est levée.
> db.demo.find()
{ "_id" : ObjectId("5e788c89a3edd4aa4ff0c2bd"), "name" : "myName", "age" : 18, "hobby" : [ "music", "movie" ] }
{ "_id" : ObjectId("5e788dbba3edd4aa4ff0c2be"), "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ] }
> 
> db.demo.update({'name':"myName"},{$set:{'name':"myName1"}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> 
> db.demo.find()
{ "_id" : ObjectId("5e788c89a3edd4aa4ff0c2bd"), "name" : "myName1", "age" : 18, "hobby" : [ "music", "movie" ] }
{ "_id" : ObjectId("5e788dbba3edd4aa4ff0c2be"), "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ] }
> 

Modifier plusieurs documents identiques:
multi: vrai

> db.demo.update({'name':"myName"},{$set:{'name':"myName1"}},{multi:true})

Remplacer le format de syntaxe
save () du document existant par le document entrant

db.collection.save(
   <document>,
   {
     writeConcern: <document>
   }
)
  • Description des paramètres:
    • document : données du document.
    • writeConcern : facultatif, le niveau auquel une exception est levée.
> db.demo.find()
{ "_id" : ObjectId("5e788c89a3edd4aa4ff0c2bd"), "name" : "myName1", "age" : 18, "hobby" : [ "music", "movie" ] }
{ "_id" : ObjectId("5e788dbba3edd4aa4ff0c2be"), "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ] }
> 
> db.demo.save({ "_id" : ObjectId("5e788c89a3edd4aa4ff0c2bd"), "name" : "myName2", "age" : 20, "hobby" : [ "music", "movie" ] })
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> 
> db.demo.find().pretty()
{
	"_id" : ObjectId("5e788c89a3edd4aa4ff0c2bd"),
	"name" : "myName2",
	"age" : 20,
	"hobby" : [
		"music",
		"movie"
	]
}
{
	"_id" : ObjectId("5e788dbba3edd4aa4ff0c2be"),
	"name" : "yourName",
	"age" : 20,
	"hobby" : [
		"drawing",
		"run"
	]
}
> 

Plus d'exemples:

Seul le premier enregistrement est mis à jour dans les mêmes conditions:
db.demo.update ({"key": "val"}, {$ set: {"key1": "val1"}});
db.demo.update ({"key ”:“ Val ”}, {$ set: {“ key1 ”:“ val1 ”}}, false, false);

Mettez-les à jour avec les mêmes conditions:
db.demo.update ({«key»: «val»}, {$ set: {«key1»: «val1»}}, false, true);

Il n'y a pas de nouvelle création:

> db.demo.find()
{ "_id" : ObjectId("5e788c89a3edd4aa4ff0c2bd"), "name" : "myName2", "age" : 20, "hobby" : [ "music", "movie" ] }
{ "_id" : ObjectId("5e788dbba3edd4aa4ff0c2be"), "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ] }
> 
> db.demo.update({"name":"hisName"},{$set:{"name":"hisName1"}},true,false)
WriteResult({
	"nMatched" : 0,
	"nUpserted" : 1,
	"nModified" : 0,
	"_id" : ObjectId("5e796a0b7b047d1d86dd360d")
})
> 
> db.demo.find()
{ "_id" : ObjectId("5e788c89a3edd4aa4ff0c2bd"), "name" : "myName2", "age" : 20, "hobby" : [ "music", "movie" ] }
{ "_id" : ObjectId("5e788dbba3edd4aa4ff0c2be"), "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ] }
{ "_id" : ObjectId("5e796a0b7b047d1d86dd360d"), "name" : "hisName1" }
> 

Mise à jour de la condition (âge> 10 ans):

> db.demo.find()
{ "_id" : ObjectId("5e788c89a3edd4aa4ff0c2bd"), "name" : "myName2", "age" : 20, "hobby" : [ "music", "movie" ] }
{ "_id" : ObjectId("5e788dbba3edd4aa4ff0c2be"), "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ] }
{ "_id" : ObjectId("5e796a0b7b047d1d86dd360d"), "name" : "hisName1", "age" : "30" }
>
>  db.demo.update({"age":{$gt:10}},{$set:{"job":"IT"}},true,true)
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })
> 
> db.demo.find()
{ "_id" : ObjectId("5e788c89a3edd4aa4ff0c2bd"), "name" : "myName2", "age" : 20, "hobby" : [ "music", "movie" ], "job" : "IT" }
{ "_id" : ObjectId("5e788dbba3edd4aa4ff0c2be"), "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ], "job" : "IT" }
{ "_id" : ObjectId("5e796a0b7b047d1d86dd360d"), "name" : "hisName1", "age" : "30" }
> 

Effacer

Format grammatical

db.collection.remove(
   <query>,
   <justOne>
)

2.6+
db.collection.remove(
   <query>,
   {
     justOne: <boolean>,
     writeConcern: <document>
   }
)
  • Description des paramètres:

    • requête : (facultatif) conditions pour les documents supprimés.
    • justOne : (facultatif) Si la valeur est true ou 1, un seul document sera supprimé. Si ce paramètre n'est pas défini ou si la valeur par défaut est false, tous les documents correspondant à la condition seront supprimés.
    • writeConcern : (facultatif) Le niveau auquel une exception est levée.
> db.demo.find()
{ "_id" : ObjectId("5e788c89a3edd4aa4ff0c2bd"), "name" : "myName2", "age" : 20, "hobby" : [ "music", "movie" ], "job" : "IT" }
{ "_id" : ObjectId("5e788dbba3edd4aa4ff0c2be"), "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ], "job" : "IT" }
{ "_id" : ObjectId("5e796a0b7b047d1d86dd360d"), "name" : "hisName1", "age" : "30" }
>
>  db.demo.remove({"name":"hisName1"})
WriteResult({ "nRemoved" : 1 })
> 
> db.demo.find()
{ "_id" : ObjectId("5e788c89a3edd4aa4ff0c2bd"), "name" : "myName2", "age" : 20, "hobby" : [ "music", "movie" ], "job" : "IT" }
{ "_id" : ObjectId("5e788dbba3edd4aa4ff0c2be"), "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ], "job" : "IT" }
> 

Supprimer le premier enregistrement dans les mêmes conditions (testé pour supprimer le premier enregistrement quel que soit le nombre, à vérifier ...):

> db.demo.find()
{ "_id" : ObjectId("5e788c89a3edd4aa4ff0c2bd"), "name" : "myName2", "age" : 20, "hobby" : [ "music", "movie" ], "job" : "IT" }
{ "_id" : ObjectId("5e788dbba3edd4aa4ff0c2be"), "name" : "hisName", "age" : 20, "hobby" : [ "drawing", "run" ], "job" : "IT" }
{ "_id" : ObjectId("5e796e5aa3edd4aa4ff0c2bf"), "name" : "herName", "age" : 20, "hobby" : [ "drawing", "run" ] }
{ "_id" : ObjectId("5e796f30a3edd4aa4ff0c2c0"), "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ] }
> 
> db.demo.remove({"age":{$gt:10}},3)
WriteResult({ "nRemoved" : 1 })
> 
> db.demo.find()
{ "_id" : ObjectId("5e788dbba3edd4aa4ff0c2be"), "name" : "hisName", "age" : 20, "hobby" : [ "drawing", "run" ], "job" : "IT" }
{ "_id" : ObjectId("5e796e5aa3edd4aa4ff0c2bf"), "name" : "herName", "age" : 20, "hobby" : [ "drawing", "run" ] }
{ "_id" : ObjectId("5e796f30a3edd4aa4ff0c2c0"), "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ] }
> 
> db.demo.remove({"age":{$gt:10}},2)
WriteResult({ "nRemoved" : 1 })
> 
> db.demo.find()
{ "_id" : ObjectId("5e796e5aa3edd4aa4ff0c2bf"), "name" : "herName", "age" : 20, "hobby" : [ "drawing", "run" ] }
{ "_id" : ObjectId("5e796f30a3edd4aa4ff0c2c0"), "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ] }
> 

Méthode de suppression officielle de la mise à niveau:
supprimez un seul élément: deleteOne ({"clé": "val"}),
supprimez plusieurs éléments: deleteMany ({"clé", "val"}),
supprimez tout: deleteMany ({});

> db.demo.deleteOne({"age":{$gt:10}})
{ "acknowledged" : true, "deletedCount" : 1 }
> 
> db.demo.find()
{ "_id" : ObjectId("5e796f30a3edd4aa4ff0c2c0"), "name" : "myName", "age" : 20, "hobby" : [ "drawing", "run" ] }
{ "_id" : ObjectId("5e7972c7a3edd4aa4ff0c2c1"), "name" : "hisName", "age" : 20, "hobby" : [ "drawing", "run" ] }
{ "_id" : ObjectId("5e7972c9a3edd4aa4ff0c2c2"), "name" : "yourName", "age" : 20, "hobby" : [ "drawing", "run" ] }
> 
> db.demo.deleteMany({})
{ "acknowledged" : true, "deletedCount" : 3 }
> 
> db.demo.find()
> 

Publié 90 articles originaux · A aimé12 · Visites 170 000+

Je suppose que tu aimes

Origine blog.csdn.net/u012382791/article/details/105425488
conseillé
Classement