Heim >Web-Frontend >js-Tutorial >Wie entferne ich ein Objekt aus einem Array in MongoDB?

Wie entferne ich ein Objekt aus einem Array in MongoDB?

Susan Sarandon
Susan SarandonOriginal
2024-11-01 02:29:02359Durchsuche

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

MongoDB: Entfernen eines Objekts aus einem Array

In MongoDB können Sie ein Objekt aus einem in ein Dokument eingebetteten Array mithilfe des $ entfernen Pull-Operator. Wenn Sie ein bestimmtes Objekt aus einem Array entfernen möchten, müssen Sie eine Abfrage bereitstellen, die dem genauen Objekt entspricht.

Beachten Sie das folgende Dokument:

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

Um das Element mit der ID zu entfernen : 23 aus dem Array „Elemente“ verwenden Sie den folgenden Befehl:

db.mycollection.update(
    { '_id': ObjectId("5150a1199fac0e6910000002") }, 
    { $pull: { items: { id: 23 } } },
    false, // Upsert
    true, // Multi
);

Dieser Befehl aktualisiert das Dokument, indem er das Element aus dem Array entfernt. Die Abfrage gibt das Dokument mithilfe des Felds „_id“ an, und der Operator „$pull“ zielt auf das Array „items“ ab. Innerhalb der $pull-Operation können Sie eine Abfrage angeben, die dem zu entfernenden Objekt entspricht. In diesem Fall gleichen wir das Objekt mit der ID ab: 23.

Mongoose/Node.js-Implementierung

In Mongoose können Sie ein Objekt mithilfe von aus einem Array entfernen pull()-Methode:

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

Dieser Code entfernt das Element mit der ID: 23 aus dem Items-Array aller Dokumente, die mit der angegebenen _id übereinstimmen.

Das obige ist der detaillierte Inhalt vonWie entferne ich ein Objekt aus einem Array in MongoDB?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn