Dans MongoDB, le db.collection.insertOne()
méthode insère un seul document dans une collection.
La collection
part est le nom de la collection dans laquelle insérer le document.
Exemple
Voici un exemple d'insertion d'un document dans une collection appelée pets
:
db.pets.insertOne( {
name: "Scratch",
type: "Cat"
} )
Résultat :
{ "acknowledged" : true, "insertedId" : ObjectId("5fe2d15637b49e0faf1af214") }
Le db.collection.insertOne()
méthode renvoie un document contenant :
- Un booléen
acknowledged
commetrue
si l'opération s'est exécutée avec un souci d'écriture oufalse
si la préoccupation d'écriture était désactivée. - Un champ
insertedId
avec le_id
valeur du document inséré.
Maintenant, si nous utilisons db.collection.find()
pour regarder la collection, nous verrons le document nouvellement ajouté.
db.pets.find().pretty()
Résultat :
{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" }
J'ai aussi utilisé pretty()
pour formater le document afin qu'il soit plus facile à lire.
Dans ce cas, notre document est le seul de la collection, et donc un seul document a été retourné.
Cependant, si la collection était importante, nous pourrions utiliser l'ID (fourni dans le document de retour lorsque nous avons fait l'insertion) pour limiter le résultat à ce document uniquement.
db.pets.find({_id: ObjectId("5fe2d15637b49e0faf1af214")} ).pretty()
Résultat :
{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" }
Et si la collection n'existe pas ?
Si la collection n'existe pas, elle est créée et le document y est ajouté.
Si la collection existe déjà, alors le document y est simplement ajouté.
Lorsque j'ai créé cet exemple, la collection n'existait pas et l'opération d'insertion l'a donc créée.
Le _id
Champ
Le _id
field est un champ d'identifiant unique dans MongoDB.
Vous pouvez fournir votre propre _id
champ dans le document. Si vous le faites, sa valeur doit être unique dans la collection. C'est parce que votre _id
sera utilisé comme identifiant unique du document.
Voici un exemple d'insertion d'un document avec son propre _id
champ.
db.pets.insertOne( {
_id: 1,
name: "Fetch",
type: "Dog"
} )
Résultat :
{ "acknowledged" : true, "insertedId" : 1 }
Examinons à nouveau la collection.
db.pets.find()
Résultat :
{ "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" } { "_id" : 1, "name" : "Fetch", "type" : "Dog" }
Plus d'informations
Le db.collection.insertOne()
la méthode accepte également un writeConcern
argument, qui décrit le niveau d'accusé de réception demandé à MongoDB pour les opérations d'écriture.
Voir la documentation MongoDB pour db.collection.insertOne()
pour plus d'informations.