Ich habe einige Informationen über meine Mungo-Modelle, die vorübergehend sind. Aus Performancegründen möchte ich es nicht gegen das Modell speichern. Aber ich möchte diese Information Clients bereitstellen können, die sich mit meinem Server verbinden und danach fragen.Mungo-Schlüssel/Val-Set für Instanz wird nicht in JSON oder Console angezeigt. Warum?
Hier ist ein einfaches Beispiel:
var mongoose = require('mongoose'),
db = require('./dbconn').dbconn;
var PersonSchema = new mongoose.Schema({
name : String,
age : Number,
});
var Person = db.model('Person', PersonSchema);
var fred = new Person({ name: 'fred', age: 100 });
Die Person Schema hat zwei Attribute, die ich gespeichert werden sollen (Name und Alter) .. Dies funktioniert .. und wir sehen in der Konsole:
console.log(fred);
{name: 'fred', Alter: 100, _id: 509edc9d8aafee8672000001}
ich jedoch Ich habe ein Attribut ("status"), das sich schnell ändert und ich möchte das nicht in der Datenbank speichern. Aber ich möchte es dynamisch verfolgen und Clients bereitstellen, damit ich es als Schlüssel/Wert-Paar der Instanz hinzufüge.
fred.status = "alive";
Wenn wir schauen fred in der Konsole wieder nach dem "alive" key/val Paar Zugabe sehen wir wieder fred, aber sein Zustand ist nicht gezeigt:
{name: 'fred', Alter: 100, _id: 509edc9d8aafee8672000001}
Doch der Schlüssel/val Paar ist definitiv da .. wir sehen, dass:
console.log(fred.status);
macht:
lebendig
Das gleiche gilt für die JSON-Repräsentation des Objektes, das ich für Kunden bin das Senden .. der "Status" ist nicht enthalten ..
Ich verstehe nicht warum ... kann jemand helfen?
Oder gibt es alternativ einen besseren Ansatz zum Hinzufügen von Attributen zu Mongoose-Schemas, die nicht in der Datenbank gespeichert werden?
Ich denke, das ist etwas schrullig mit Mungo Objekten. Ich füge user.avatar immer an ihre Gravatar-URL an. – chovy