Comment supprimer un objet spécifique d'un tableau dans MongoDB ?
Nov 02, 2024 am 07:26 AMMongoDB : Supprimer un objet d'un tableau
Problème :
Dans MongoDB, comment extraire un objet spécifique à partir d'un tableau intégré dans un document ? Dans le document d'exemple, nous souhaitons supprimer l'objet avec l'identifiant : 23 du tableau items.
Solution :
Pour y parvenir, utilisez l'opérateur $pull avec une requête plus spécifique pour faire correspondre l'objet souhaité dans le tableau.
Requête MongoDB :
db.mycollection.update( { '_id': ObjectId("5150a1199fac0e6910000002") }, { $pull: { items: { id: 23 } } }, false, // Upsert true // Multi );
Explication :
- Opérateur $pull : utilisé pour supprimer un élément d'un tableau.
- { items: { id: 23 } } : Spécifiez l'objet imbriqué à supprimer en faisant correspondre son champ spécifique.
- Upsert : défini sur false pour empêcher la création d'un nouveau document si la mise à jour ne correspond à aucun document existant.
- Multi : défini sur true pour appliquer la mise à jour à plusieurs documents correspondants (bien qu'il ne devrait y avoir qu'une seule correspondance dans ce cas).
Node.js/Mongoose :
Dans Mongoose, vous pouvez utiliser la requête suivante :
<code class="javascript">MyModel.findOneAndUpdate( { '_id': '5150a1199fac0e6910000002' }, { $pull: { items: { id: 23 } } }, { multi: true } );</code>
Remarque : MongoDB 3.6 prend également en charge l'opérateur $elemMatch en conjonction avec $pull pour un filtrage plus complexe au sein des tableaux.
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Remplacer les caractères de chaîne en javascript

Tutoriel de configuration de l'API de recherche Google personnalisé

8 Superbes plugins de mise en page JQuery Page

Créez vos propres applications Web Ajax

Qu'est-ce que & # x27; ceci & # x27; en javascript?
