Lorsque vous travaillez avec MongoDB, l'une des opérations les plus fondamentales que vous devez comprendre est de savoir comment insérer des documents dans la base de données. L'insertion de documents équivaut à l'ajout d'enregistrements à une base de données relationnelle. Dans MongoDB, les documents représentent un enregistrement de données. Dans ce chapitre, nous verrons comment insérer des documents simples dans MongoDB.
Tout d'abord, il est important de comprendre que MongoDB est une base de données orientée document. Cela signifie qu'au lieu de stocker vos données dans des tables comme cela serait le cas dans une base de données relationnelle, MongoDB stocke les données dans des structures de type BSON (une représentation binaire de JSON avec des types de données supplémentaires). Chaque document possède un ensemble de paires champ-valeur. Les champs peuvent contenir d'autres documents, tableaux et tableaux de documents.
L'opération d'insertion est effectuée à l'aide de la méthode insert()
ou insertOne()
et insertMany()
dans MongoDB. La méthode insert()
était la principale méthode d'insertion de documents dans MongoDB avant la version 3.2. À partir de la version 3.2, insertOne()
et insertMany()
ont été introduits pour insérer respectivement un seul document et plusieurs documents.
Pour insérer un document simple dans MongoDB, vous devrez d'abord sélectionner la collection dans laquelle vous souhaitez insérer le document. Une collection dans MongoDB est un groupe de documents et équivaut à une table dans une base de données relationnelle. Si la collection n'existe pas, MongoDB la créera pour vous.
Supposons que vous souhaitiez insérer le document suivant dans une collection appelée « étudiants » :
Vous pouvez le faire en utilisant la méthode insertOne()
comme suit :
La méthode insertOne()
insère un nouveau document dans la collection spécifiée. Le document à insérer est passé en argument à la méthode insertOne()
.
Une fois le document inséré, MongoDB renvoie un document résultat qui contient l'ID du document inséré. L'ID du document est un champ spécial appelé « _id » qui est automatiquement ajouté par MongoDB si vous n'en fournissez pas. Le champ '_id' doit être unique au sein de la collection.
Si vous souhaitez insérer plusieurs documents à la fois, vous pouvez utiliser la méthode insertMany()
. La méthode insertMany()
accepte un tableau de documents à insérer. Voici un exemple :
Tout comme la méthode insertOne()
, la méthode insertMany()
renvoie également un document résultat qui contient les ID des documents insérés.
Il est important de noter que si une erreur se produit lors de l'insertion de documents à l'aide de la méthode insertMany()
, MongoDB annulera l'opération et aucun des documents restants du tableau ne sera inséré. Si vous souhaitez que MongoDB insère autant de documents que possible quelles que soient les erreurs, vous pouvez transmettre un objet options avec la propriété « ordonnée » définie sur false. Cela amènera MongoDB à insérer les documents dans l'ordre dans lequel ils apparaissent dans le tableau, mais n'arrêtera pas l'opération si une erreur se produit.
En bref, insérer des documents dans MongoDB est une opération simple mais fondamentale que vous devez comprendre pour travailler efficacement avec cette base de données. Qu'il s'agisse d'insérer un seul document avec insertOne()
ou plusieurs documents avec insertMany()
, le processus est simple et flexible, vous permettant de structurer vos données de n'importe quelle manière le plus judicieux pour vos besoins spécifiques.