Frage

Ich bekomme ein Ergebnis (das Objekt) von einer Mungo-Abfrage zurück und möchte einige Tasten ersetzen / entfernen, bevor ich das Objekt erheblichen und an den Client senden kann.

Wenn ich konsole.log das Objekt, alles ist nett (alle Schlüssel sind aufgeführt, nichts mehr). Wenn ich ein für das Objekt tue, versteckte Felder aus dem Nirgendwo (und den Tasten von Interesse, nicht). Sie machen Sinn - sie gehören zu Mungo - aber ich will sie nicht. Dasselbe passiert, wenn object.keys oder object.getownPropertynames auf dem Objekt verwendet wird - verborgene Felder-Popup, keine nützlich.

Ich wollte also das Element mit util.insect (obj, true, null, true) inspizieren und das Ergebnis an der Konsole loggen. Das Ergebnis auf der Konsole ist derselbe, als würde ich das Objekt direkt ohne die Inspektion getrübt.

jetzt zwei Fragen;

    .
  1. Wie prüfe ich ein Objekt richtig, so dass ich tatsächlich interne / versteckte Informationen über das Objekt erhält?
  2. Wie kann ich über das Objekt iterieren und nur die Felder bekommen? (Ja, ich mache den HasownProperty-Check innerhalb der für..in Schleife)

    // bearbeiten

    ok, ich habe es bekommen. Nach einiger Untersuchung wurde mir klar, dass das mongoose-Objekt seine Eigenschaften annimmt und eine Tojson-Funktion hat, die erklärt, warum die Konsole.logs in der erwarteten Ausgabestruktur waren. Die Lösung ist die Verwendung von mongoose eigenen Toobject-Verfahren; generasacodicetagpre.

    Auf diese Weise kann ich über Object.GetownPropertynames iterieren und Tasten ersetzen / ersetzen / entfernen Ich möchte nicht, dass der Kunde über etwas wissen soll!

War es hilfreich?

Lösung

Ich werde erraten, dass Sie das von einer mongoose-abfrage zurückgegeben, wenn Sie wirklich nur möchtenSiehe die Daten.Wenn meine Vermutung richtig ist, wollen Sie wahrscheinlich so etwas: generasacodicetagpre.

Andere Tipps

Wenn Sie auch auf ein bestimmtes Feld von einem dokument zugreifen möchten, können Sie einen Blick darauf werfen:

Dokument # Get generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top