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!