Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie entferne ich ein Objekt aus einem Array in MongoDB?

Susan Sarandon
Freigeben: 2024-11-03 18:32:29
Original
710 Leute haben es durchsucht

How to Remove an Object from an Array in MongoDB?

Entfernen eines Objekts aus einem Array in MongoDB

Beim Umgang mit Dokumenten, die Arrays enthalten, kann es erforderlich sein, bestimmte Objekte daraus zu entfernen . Dies tritt häufig bei Dokumenten auf, die eine Liste von Elementen oder ähnliche Einträge speichern. In MongoDB gibt es einen speziellen Operator namens $pull, der speziell für diesen Zweck entwickelt wurde.

Das bereitgestellte Beispiel zeigt ein Dokument mit einer Reihe von Elementen. Das Ziel besteht darin, das Elementobjekt mit der ID 23 zu entfernen. Der erste Versuch, $pull zu verwenden, ist falsch, da versucht wird, das ID-Feld direkt in der $pull-Anweisung abzugleichen, was nicht der korrekten Syntax entspricht.

Um das gewünschte Objekt erfolgreich zu entfernen, lautet die richtige Abfrage:

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

Diese Abfrage gibt an, dass sie das Dokument mit der angegebenen _id aktualisieren möchte, und wendet bei dieser Aktualisierung den $pull-Operator an zum items-Array, wobei jedes Array-Element mit einer ID von 23 abgeglichen wird.

Für diejenigen, die Mongoose/Node.js verwenden, lautet das entsprechende Code-Snippet:

<code class="javascript">Model.updateOne(
    { '_id': ObjectId("5150a1199fac0e6910000002") }, 
    { $pull: { items: { id: 23 } } },
    function(err, result) {
        // Handle error or result
    }
);</code>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage