Unterklonen von Mongoose-Objekten und Löschen von Eigenschaften funktioniert nicht?

8

Ich verwende Mongoose und möchte die Eigenschaft _id aus meiner Mongoose-Instanz entfernen, bevor ich die JSON-Antwort an den Client sende.

Beispiel:

%Vor%

Das vorherige hat nicht funktioniert.

Aber wenn ich das tue:

%Vor%

Ich verstehe nicht, warum das Aufrufen von delete auf einem geklonten Objekt mit Underscore nicht funktioniert, aber wenn ich den hacky JSON.string / JSON.parse mache, funktioniert es.

Irgendwelche Gedanken zu diesem Verhalten?

    
JP Richardson 23.02.2012, 18:28
quelle

2 Antworten

6

Ich bin gerade auf ein ähnliches Problem gestoßen, bei dem versucht wurde, _id durch id zu ersetzen. Dies zu tun, funktionierte für mich:

%Vor%

Vielleicht wird es funktionieren, wenn Sie delete ui["_id"] durch delete ui._id ersetzen oder toObject anstelle von _.clone verwenden.

    
Ryan Ahearn 08.08.2012 20:39
quelle
0

Um die vorherige Antwort hinzuzufügen, gibt es noch einen weiteren Weg, um dasselbe zu erreichen. Die Funktion 'toObject' wendet eine Transformation auf das Dokument an, das durch die Funktion schema.options.toObject.transform definiert ist, z. B.

%Vor%     
ddenis 19.05.2014 13:42
quelle