MongoDB : Supprimer un objet d'un tableau
Dans MongoDB, vous pouvez supprimer un objet d'un tableau intégré dans un document à l'aide du $ opérateur de traction. Si vous souhaitez supprimer un objet spécifique d'un tableau, vous devez fournir une requête qui correspond à l'objet exact.
Considérez le document suivant :
{
_id: 5150a1199fac0e6910000002,
name: 'some name',
items: [{
id: 23,
name: 'item name 23'
},{
id: 24,
name: 'item name 24'
}]
}
Pour supprimer l'élément avec l'identifiant : 23 du tableau items, utilisez la commande suivante :
db.mycollection.update( { '_id': ObjectId("5150a1199fac0e6910000002") }, { $pull: { items: { id: 23 } } }, false, // Upsert true, // Multi );
Cette commande met à jour le document en supprimant l'élément du tableau. La requête spécifie le document à l'aide du champ _id et l'opérateur $pull cible le tableau items. Dans l'opération $pull, vous pouvez spécifier une requête correspondant à l'objet à supprimer. Dans ce cas, nous faisons correspondre l'objet avec l'identifiant : 23.
Implémentation Mongoose/Node.js
Dans Mongoose, vous pouvez supprimer un objet d'un tableau à l'aide de l'option Méthode pull() :
const Model = mongoose.model('Model', new mongoose.Schema({
items: [{
id: Number,
name: String
}]
}));
Model.update(
{ '_id': '5150a1199fac0e6910000002' },
{ $pull: { items: { id: 23 } } },
{ multi: true }, // Update all matching documents
(err, result) => { if (!err) console.log(result); }
);
Ce code supprimera l'élément avec l'identifiant : 23 du tableau items de tous les documents qui correspondent au _id spécifié.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3