Maison > interface Web > js tutoriel > Comment supprimer un objet d'un tableau dans MongoDB ?

Comment supprimer un objet d'un tableau dans MongoDB ?

Susan Sarandon
Libérer: 2024-11-01 02:29:02
original
366 Les gens l'ont consulté

How do I remove an object from an array in MongoDB?

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 :

<code class="json">{
   _id: 5150a1199fac0e6910000002,
   name: 'some name',
   items: [{
      id: 23,
      name: 'item name 23'
   },{
      id: 24,
      name: 'item name 24'
   }]
}</code>
Copier après la connexion

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

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 en utilisant le Méthode pull() :

<code class="javascript">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); }
);</code>
Copier après la connexion

Ce code supprimera l'élément avec l'identifiant : 23 du tableau items de tous les documents qui correspondent au _id spécifié.

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