Maison >développement back-end >tutoriel php >Comment ajouter des données aux tableaux imbriqués dans MongoDB à l'aide de $push ?

Comment ajouter des données aux tableaux imbriqués dans MongoDB à l'aide de $push ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-26 05:52:42838parcourir

How to Add Data to Nested Arrays in MongoDB using $push?

MongoDB : ajout de données à des tableaux imbriqués à l'aide de $push

Problème :

Dans MongoDB, vous avez un document avec un tableau imbriqué (par exemple, "musiques" à l'intérieur de "playlists"). Vous souhaitez insérer un nouvel élément dans le tableau imbriqué.

Solution :

Pour ajouter des données à un tableau imbriqué à l'aide de l'opérateur $push, vous pouvez suivre ces étapes :

  • Utilisez l'opérateur "$push" dans une instruction de mise à jour.
  • Identifiez le document à mettre à jour en utilisant une requête appropriée (par exemple, le champ "_id").
  • Spécifiez le tableau imbriqué en utilisant la notation par points (par exemple, "playlists.musics").
  • Dans le champ "$push " , définissez le nouvel élément à insérer en tant qu'objet avec des paires propriété-valeur (par exemple, "nom" et "durée" pour la musique objet).

    Exemple :

db.collection.update(
  { "_id": ObjectId("584654654ad21"), "playlists._id": 58 },
  { "$push": { "playlists.$.musics": { "name": "new name", "duration": "3.00" } } }
);

Cette requête mettra à jour le document avec un _id de "584654654ad21" et une playlist avec un _id de 58 en ajoutant un nouvel objet musical avec le nom et la durée spécifiés aux "musiques" array.

Remarque : L'opérateur "$push" ne peut être utilisé que pour ajouter des éléments aux tableaux. Il ne peut pas être utilisé pour modifier des éléments existants ou ajouter des éléments à des tableaux qui n'existent pas.

En suivant ces étapes, vous pouvez efficacement ajouter des données aux tableaux imbriqués dans les documents MongoDB.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn