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()
>