Problem:
Wie extrahieren Sie in MongoDB ein bestimmtes Objekt? aus einem in ein Dokument eingebetteten Array? Im Beispieldokument möchten wir das Objekt mit der ID: 23 aus dem Items-Array entfernen.
Lösung:
Um dies zu erreichen, verwenden Sie den $pull-Operator mit eine spezifischere Abfrage, um das gewünschte Objekt innerhalb des Arrays abzugleichen.
MongoDB-Abfrage:
db.mycollection.update( { '_id': ObjectId("5150a1199fac0e6910000002") }, { $pull: { items: { id: 23 } } }, false, // Upsert true // Multi );
Erklärung:
Node.js/Mongoose:
In Mongoose können Sie die folgende Abfrage verwenden:
<code class="javascript">MyModel.findOneAndUpdate( { '_id': '5150a1199fac0e6910000002' }, { $pull: { items: { id: 23 } } }, { multi: true } );</code>
Hinweis: MongoDB 3.6 unterstützt auch den $elemMatch-Operator in Verbindung mit $pull für komplexere Filterung innerhalb von Arrays.
Das obige ist der detaillierte Inhalt vonWie entferne ich ein bestimmtes Objekt aus einem Array in MongoDB?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!