Insérer des documents dans MongoDB
Dans MongoDB, la méthode db.collection.insert() est utilisée pour ajouter ou insérer de nouveaux documents dans une collection de votre base de données.
Il existe également deux méthodes db.collection.update() et db.collection.save() utilisées dans le même but. Ces méthodes ajoutent de nouveaux documents via une opération appelée « upsert ».
Upsert est une opération qui consiste à mettre à jour un document existant ou à insérer un nouveau document si le document à modifier n’existe pas.
Syntaxe:
db.CollectionName.insert(document)
Prenons un exemple pour montrer comment insérer un document dans une collection. Dans cet exemple, nous insérons un document dans une collection nommée « personne ». Cette opération créera automatiquement une collection si la collection n’existe pas.
Exemple:
db.personne.insert( { nom: "Alex", age: 22, adresse: { rue: "32 rue alpha", ville: "Paris", pays: "France" }, loisir: [ "Sport", "Lecture", "Music" ] } )
Une fois le document inséré, l’opération renvoie l’objet WriteResult avec son statut. Ici, le champ nInserted spécifie le nombre de documents insérés.
Vérifier les documents insérés:
Si l’insertion réussit, vous pouvez afficher le document inséré à l’aide de la requête suivante.
db.personne.find()
Insérer plusieurs documents
Si vous souhaitez insérer plusieurs documents dans une collection, vous devez transmettre un tableau de documents à la méthode db.collection.insert().
Créer un tableau de documents
Définissez une variable nommée « Personnes » contenant un tableau de documents à insérer.
var Personnes = [ { nom: "Alex", age: 22, loisir: [ "Sport", "Lecture", "Music" ] }, { nom: "Thomas", age: 30, loisir: [ "Surf", "Basketball", "Music" ] }, { nom: "Jean", age: 15, loisir: [ "Football", "Lecture", "Music" ] } ];
Insère les documents
Passez le tableau « Personnes » à la méthode db.collection.insert() pour effectuer une insertion en bloc.
db.test.insert( Personnes );
Une fois les documents insérés avec succès, un objet BulkWriteResult sera retourné avec le statut.
Ici, le champ « nInserted » spécifie le nombre de documents insérés. En cas d’erreur pendant l’opération, « BulkWriteResult » spécifiera cette erreur.
Vous pouvez vérifier les documents insérés en utilisant la requête suivante:
db.test.find()