2016-08-03 6 views
0

In meiner App brauche ich eine Funktion, die Dokumente entfernt und mir die entfernten Doc-Felder gibt. Die Dokumente für den Treiber sind nicht klar über den Rückruf von deleteMany. Es gibt ein Ergebnis zurück, das deleteWriteOpResultObject ist. Ich weiß nicht, wie man die gelöschten Doc-Felder daraus bekommt.Entfernen von Doc und Lesen der Felder

+1

Vielleicht [this] (http://stackoverflow.com/questions/11607487/how-to-get-removed-document-in-mongodb) wird hilfreich sein. – tarashypka

+0

Suchen Sie nach einer Funktion zum Entfernen mehrerer Dokumente oder nur eines einzelnen Dokuments? – chridam

+0

Mehrere Dokumente und Empfangen von deren Feldern –

Antwort

0

Sie können findAndModify Operation mit remove: true und fields: {your_fields} verwenden, wenn Sie ein einzelnes Dokument abrufen und löschen müssen. Wenn Sie mehrere Datensätze entfernen und auswählen müssen, können Sie findAndModify mehrmals ausführen oder find aufrufen, die Ergebnisse warten und remove sie alle nach IDs.

+0

Gibt es keinen effizienteren Weg, dann durch jedes Dokument oder Abfrage zu durchlaufen und dann Abfrage zu entfernen. –

+0

@ h.Oo Nein, es gibt keine. Übrigens, warum denkst du, dass "finden" + "entfernen" nicht effizient ist? Es sieht vielleicht etwas unhandlicher als eine einzelne Operation aus, verursacht jedoch keine Leistungsprobleme. – JustLogin