Maison > interface Web > js tutoriel > le corps du texte

Comment supprimer un objet d'un tableau dans MongoDB ?

Susan Sarandon
Libérer: 2024-11-03 18:32:29
original
703 Les gens l'ont consulté

How to Remove an Object from an Array in MongoDB?

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
);
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal