MongoDB insérer plusieurs documents

MongoDB insérer plusieurs documents
Dans cet article, nous apprendrons à insérer plusieurs documents à la fois dans une collection donnée en utilisant les commandes natives de Shell MongoDB.

Méthode MongoDB INSERTMANY ()

Comme son nom l'indique, la méthode insertMany () nous permet de spécifier un ensemble de documents et de les insérer tous en même temps dans une collection donnée.

Ce qui suit montre la syntaxe de la méthode insertmany ():

db.collection.INSERTMANY (
[,,…],

WriteConcern: ,
commandé:

)

Le paramètre est le suivant:

  1. Document - Spécifie un tableau de documents à insérer dans une collection donnée.
  2. WriteConcern - définit les paramètres de préoccupation d'écriture qui remplacent la préoccupation d'écriture par défaut. Une préoccupation d'écriture est utilisée pour définir le niveau de reconnaissance demandée à MongoDB pour écrire Ops.
  3. DÉFICENCE ORDÉ.

La méthode doit renvoyer une déclaration de reconnaissance qui comprend une déclaration booléenne et le nombre de documents insérés.

Jetons un coup d'œil à un exemple pratique.

Définir une collection

Commençons par créer une collection simple où nous pouvons insérer des données d'échantillons. Connectez-vous dans le shell MongoDB et exécutez la commande:

$ Mongosh
db.CreateCollection ("employés")

La commande ci-dessus devrait créer une nouvelle collection appelée employés.

Insérer plusieurs documents avec un champ _ID

MongoDB est une base de données très flexible. Il nous permet d'insérer des documents sans spécifier le champ _ID. Par défaut, MongoDB générera un identifiant unique pour chaque document inséré dans la collection

L'exemple ci-dessous montre comment utiliser la méthode insertMany () pour insérer plusieurs documents sans le champ _ID.

db.employés.insertmany ([
Nom: "Ryan", Département: "Développement du jeu", salaire: 120000,
Nom: "David", Département: "Développement du backend", Salaire: 108000,
nom: "Rachael", département: "Développement complet de la pile", salaire: 110000,
nom: "James", département: "DevOps Development", salaire: 110000,
Nom: "Peter", Département: "Développement du jeu", Salaire: 123000,
])

Si nous exécutons la requête ci-dessus, nous devons obtenir une sortie comme indiqué:


"Reconnu": vrai,
"insertEDID": [
ObjectId ("632BD2F28B16030EEBD4FAD6"),
ObjectId ("632BD2F28B16030EEBD4FAD7"),
ObjectId ("632BD2F28B16030EEBD4FAD8"),
ObjectId ("632BD2F28B16030EEBD4FAD9"),
ObjectId ("632BD2F28B16030EEBD4FADA")
]]

Ce qui précède montre un message de reconnaissance et les valeurs d'ID générées automatiquement.

Nous pouvons localiser les documents insérés comme:

db.employés.trouver()

La commande ci-dessus doit renvoyer les documents insérés comme indiqué:


"_id": ObjectId ("632BD2F28B16030EEBD4FAD6"),
"Nom": "Ryan",
"Département": "Développement de jeu",
"Salaire": 120000.0


"_id": ObjectId ("632BD2F28B16030EEBD4FAD7"),
"Nom": "David",
"Département": "Développement backend",
"Salaire": 108000.0


"_id": ObjectId ("632BD2F28B16030EEBD4FAD8"),
"Nom": "Rachael",
"Département": "Développement complet de la pile",
"Salaire": 110000.0


"_id": ObjectId ("632BD2F28B16030EEBD4FAD9"),
"Nom": "James",
"Département": "DevOps Development",
"Salaire": 110000.0

Insérer plusieurs documents avec un champ _ID

Si nous ne souhaitons pas que MongoDB génére une valeur _ID, nous pouvons explicitement spécifier les valeurs de la colonne _ID comme indiqué dans l'exemple ci-dessous:

db.employés.insertmany ([
_id: 1, nom: "Ryan", département: "Développement du jeu", salaire: 120000,
_id: 2, nom: "David", département: "Développement du backend", salaire: 108000,
_id: 3, nom: "Rachael", département: "Développement complet de la pile", salaire: 110000,
_id: 4, nom: "James", département: "DevOps Development", salaire: 110000,
_id: 5, nom: "Peter", département: "Développement de jeu", salaire: 123000,
])

Dans l'exemple ci-dessus, nous spécifions explicitement les valeurs de la colonne _ID pour chaque document inséré dans la collection.

La requête ci-dessus doit revenir:


"Reconnu": vrai,
"insertEDID": [
1.0,
2.0,
3.0,
4.0,
5.0
]]

Insert non ordonné

Nous pouvons également effectuer un insert non ordonné en définissant le paramètre ordonné sur FALSE comme indiqué ci-dessous:

db.employés.insertmany ([
_id: 1, nom: "Ryan", département: "Développement du jeu", salaire: 120000,
_id: 2, nom: "David", département: "Développement du backend", salaire: 108000,
_id: 3, nom: "Rachael", département: "Développement complet de la pile", salaire: 110000,
_id: 4, nom: "James", département: "DevOps Development", salaire: 110000,
_id: 5, nom: "Peter", département: "Développement de jeu", salaire: 123000,
], ordonné: false)

Ceci est utile lorsque vous travaillez avec des documents en double.

Conclusion

Dans cet article, nous avons couvert les principes fondamentaux du travail avec MongoDB insertMany () pour ajouter plusieurs documents à une collection donnée dans une seule commande.