Skip to Content
🎉 Utilisez JS efficacement →

🔁 Mise à Jour de Données dans MongoDB

La mise à jour de données, souvent désignée par le terme “Update”, est une étape cruciale pour maintenir la cohérence et l’exactitude des informations stockées dans une collectioncollection
Équivalent d'une table en SQL – regroupement de documents dans MongoDB.
MongoDBMongoDB
Base de données NoSQL orientée documents, stockant les données au format BSON (JSON binaire).
. Ce chapitre explore les diverses méthodes et meilleures pratiques pour mettre à jour efficacement des documents, en mettant l’accent sur la flexibilité offerte par MongoDB dans la modification de données existantes.

🍃 Méthodes de Mise à Jour

  1. updateOne() et updateMany() : Ces méthodes permettent de mettre à jour un ou plusieurs documents qui correspondent à un critère donné. Elles prennent en charge une variété d’opérateurs de mise à jour pour modifier des champs spécifiques.

    // Exemple de mise à jour d'un document unique db.ma_collection.updateOne({ "nom": "John Doe" }, { $set: { "age": 26 } }); // Exemple de mise à jour de plusieurs documents db.ma_collection.updateMany({ "ville": "Villebourg" }, { $set: { "statut": "actif" } });
  2. update() : Bien que updateOne() et updateMany() soient plus explicites, vous pouvez également utiliser la méthode générique update() pour mettre à jour un ou plusieurs documents.

    // Exemple d'utilisation de update() pour un ou plusieurs documents db.ma_collection.update({ "nom": "Jane Doe" }, { $set: { "age": 31 } });
  3. replaceOne() : Cette méthode remplace entièrement un documentdocument
    Enregistrement dans MongoDB, stocké au format BSON (similaire à JSON).
    qui correspond à un critère donné. Elle est utile lorsque vous souhaitez remplacer un document existant par un nouveau.

    // Exemple de remplacement d'un document db.ma_collection.replaceOne({ "nom": "Bob Smith" }, { "nom": "Robert Smith", "age": 29, "ville": "Smithville" });

🍃 Opérateurs de Mise à Jour

  1. $set : Met à jour la valeur d’un champ spécifique.

    // Exemple d'utilisation de $set db.ma_collection.updateOne({ "nom": "John Doe" }, { $set: { "ville": "Nouvellbourg" } });
  2. $inc : Incrémente la valeur d’un champ numérique.

    // Exemple d'utilisation de $inc db.ma_collection.updateOne({ "nom": "Alice" }, { $inc: { "age": 1 } });
  3. $push : Ajoute un élément à un tableau.

    // Exemple d'utilisation de $push db.ma_collection.updateOne({ "nom": "Eva" }, { $push: { "amis": "Charlie" } });

🧪 Bonnes Pratiques et Astuces

  1. Utilisation de Filtres Précis : Soyez spécifique dans les filtres pour cibler précisément les documents à mettre à jour et éviter des modifications non désirées.

    // Exemple de filtre précis db.ma_collection.updateOne({ "nom": "John Doe", "ville": "Villebourg" }, { $set: { "age": 27 } });
  2. Validation des Mises à Jour : Utilisez des opérations de mise à jour atomiques pour éviter des résultats inattendus si plusieurs utilisateurs modifient le même document simultanément.

  3. Utilisation de multi : Lorsque cela est nécessaire, utilisez l’option multi pour appliquer une mise à jour à plusieurs documents.

    // Exemple de mise à jour de plusieurs documents avec multi db.ma_collection.update({ "ville": "Villebourg" }, { $set: { "statut": "actif" } }, { multi: true });
mis à jour le