Ce chapitre introduit comment insérer des données de document dans MongoDB en utilisant l'interpréteur mongo.
Insérer un document unique
La méthode db.collection.insertOne()
est utilisée pour insérer un seul document dans une collection.
Si le document ne spécifie pas le champ _id
, MongoDB générera automatiquement un ObjectId
unique pour le champ _id
.
Remarque :
ObjectId
est un générateur d'ID unique intégré dans MongoDB utilisé pour la génération d'ID.
Exemple : Insérer un document dans la collection inventory :
db.inventory.insertOne(
{ item: "toile", qty: 100, tags: ["coton"], size: { h: 28, w: 35.5, uom: "cm" } }
)
Renvoie :
{
"acknowledged" : true,
"insertedId" : ObjectId("609bf11dfc901345cafc438a")
}
Si l'insertion réussit, elle renvoie la clé primaire. Le champ insertedId
est l'ID unique généré automatiquement par MongoDB. Si la collection inventory n'existe pas, elle est automatiquement créée.
Interroger les données du document inséré :
> db.inventory.find( { item: "toile" } )
{ "_id" : ObjectId("609bf11dfc901345cafc438a"), "item" : "toile", "qty" : 100, "tags" : [ "coton" ], "size" : { "h" : 28, "w" : 35.5, "uom" : "cm" } }
En utilisant la méthode find
, saisir la condition de requête pour trouver les données du document où item
est "toile".
Insérer plusieurs documents
La méthode db.collection.insertMany()
peut insérer plusieurs documents dans une collection.
Exemple :
Insérer trois données de document en passant un tableau à la méthode insertMany
:
db.inventory.insertMany([
{ item: "journal", qty: 25, tags: ["blanc", "rouge"], size: { h: 14, w: 21, uom: "cm" } },
{ item: "tapis", qty: 85, tags: ["gris"], size: { h: 27.9, w: 35.5, uom: "cm" } },
{ item: "tapis de souris", qty: 25, tags: ["gel", "bleu"], size: { h: 19, w: 22.85, uom: "cm" } }
])
Valeur de retour :
{
"acknowledged" : true,
"insertedIds" : [
ObjectId("609bf30ffc901345cafc438b"),
ObjectId("609bf30ffc901345cafc438c"),
ObjectId("609bf30ffc901345cafc438d")
]
}
Renvoie les IDs des trois nouveaux documents insérés.
Comportement d'insertion
Création de collection
Dans MongoDB, il n'est pas nécessaire de créer une collection à l'avance. Lors de l'insertion des données pour la première fois, si la collection n'existe pas, elle est automatiquement créée.
Champ _id
Dans MongoDB, chaque document stocké dans une collection a un champ _id
unique agissant comme clé primaire. Si le document inséré omet le champ _id
, le pilote MongoDB génère automatiquement un ObjectId
pour le champ _id
.
Atomicité
Toutes les opérations d'écriture dans MongoDB sont des opérations atomiques au niveau du document unique.