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 :
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!