Maison >développement back-end >tutoriel php >Comment ajouter un nouvel élément à un tableau imbriqué dans MongoDB à l'aide de $push ?
MongoDB : ajout de données à un tableau imbriqué avec $push
Dans MongoDB, vous pouvez stocker des structures de données complexes, telles que des tableaux imbriqués. Lorsque vous devez ajouter de nouveaux éléments à ces tableaux, vous pouvez utiliser l'opérateur $push.
Problème :
Vous souhaitez ajouter un nouvel élément à un sous-tableau spécifique au sein d'un document. Votre document contient un tableau imbriqué de morceaux de musique dans une liste de lecture. Vous souhaitez ajouter une nouvelle piste à une playlist existante.
Exemple de document :
{ "username": "erkin", "email": "example@email.com", "password": "b", "playlists": [ { "_id": 58, "name": "asdsa", "date": "09-01-15", "musics": [ { "name": "INNA - Cola Song (feat. J Balvin)", "duration": "3.00" } ] } ] }
Résultat souhaité :
{ "username": "erkin", "email": "example@email.com", "password": "b", "playlists": [ { "_id": 58, "name": "asdsa", "date": "09-01-15", "musics": [ { "name": "INNA - Cola Song (feat. J Balvin)", "duration": "3.00" }, { "name": "new", "duration": "3.00" } ] } ] }
Solution :
Pour ajouter un nouvel élément au sous-tableau musics, vous pouvez utiliser la requête de mise à jour suivante :
db.collection.update( { "_id": ID, "playlists._id": "58"}, { "$push": {"playlists.$.musics": { "name": "test name", "duration": "4.00" } } } )
Dans cette requête :
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!