Suppression d'un objet d'un tableau dans MongoDB
Lorsque vous traitez des documents contenant des tableaux, il peut être nécessaire d'en supprimer des objets spécifiques . Ceci est généralement observé avec les documents qui stockent une liste d'éléments ou des entrées similaires. Dans MongoDB, il existe un opérateur désigné, appelé $pull, spécialement conçu à cet effet.
L'exemple fourni illustre un document avec un tableau d'éléments. L'objectif est de supprimer l'objet item dont l'identifiant est égal à 23. La tentative initiale d'utilisation de $pull est incorrecte, car elle tente de faire correspondre le champ id directement dans l'instruction $pull, ce qui n'est pas la syntaxe correcte.
Pour réussir à supprimer l'objet souhaité, la requête correcte est :
db.mycollection.update( { '_id': ObjectId("5150a1199fac0e6910000002") }, { $pull: { items: { id: 23 } } }, false, // Upsert true, // Multi );
Cette requête spécifie qu'elle souhaite mettre à jour le document avec le _id donné, et dans cette mise à jour, elle applique le Opérateur $pull au tableau items, faisant correspondre chaque élément du tableau avec un identifiant de 23.
Pour ceux qui utilisent Mongoose/Node.js, l'extrait de code équivalent est :
<code class="javascript">Model.updateOne( { '_id': ObjectId("5150a1199fac0e6910000002") }, { $pull: { items: { id: 23 } } }, function(err, result) { // Handle error or result } );</code>
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!