bulkWrite

MongoDB 🟡 Mid

Définition

Exécuté un ensemble d'opérations d'écriture (insert, update, delete) en un seul appel réseau. Supporte les modes ordonne et non-ordonne pour optimiser les performances.

Analogie

Envoyer un colis contenant plusieurs courriers au lieu de poster chaque lettre séparément.

Exemple de code

await db.collection('users').bulkWrite([
  { insertOne: { document: { name: 'New' } } },
  { updateOne: {
    filter: { name: 'Old' },
    update: { $set: { status: 'archived' } }
  }},
  { deleteOne: { filter: { name: 'Gone' } } }
]);

Cas d'usage

Exécuter des migrations complexes mélangeant insertions, mises a jour et suppressions en une seule opération atomique.

#sgbd#interview#database#mongodb

En entretien

  1. Pourquoi utiliser bulkWrite plutôt que d'enchaîner des insertOne/updateOne/deleteOne un par un ?

    bulkWrite exécute un ensemble d'opérations d'écriture en un seul appel réseau, comme envoyer un colis contenant plusieurs courriers au lieu de poster chaque lettre séparément. C'est le cas d'usage type pour des migrations complexes mélangeant insertions, mises à jour et suppressions en une seule opération atomique.

  2. Quels modes propose bulkWrite pour optimiser les performances ?

    bulkWrite supporte un mode ordonné et un mode non-ordonné, tous deux destinés à optimiser les performances des opérations groupées. Le choix entre les deux dépend du besoin de respecter ou non l'ordre des opérations d'écriture.

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre