Mam pewne informacje na temat moich modeli mangusty, które są przejściowe. Ze względów wydajnościowych nie chcę przechowywać go na modelu. Ale chcę być w stanie przekazać te informacje klientom, którzy łączą się z moim serwerem i proszą o niego.Mongoose key/val ustawione na instancji nie są wyświetlane w JSON lub konsoli .. dlaczego?
Oto prosty przykład:
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 });
Schemat Osoba ma dwie cechy, które chcę zapisać (imię i wiek) .. to działa .. i widzimy w konsoli:
console.log(fred);
{name: 'Fred', wiek: 100, _id: 509edc9d8aafee8672000001}
zrobić jednak mieć jeden atrybut ("status"), który szybko się zmienia i nie chcę tego przechowywać w bazie danych .. ale chcę go śledzić dynamicznie i dostarczać go klientom, więc dodaję go do instancji jako parę klucz/wartość.
fred.status = "alive";
Jeśli spojrzymy na fred w konsoli ponownie po dodaniu klucza "żywy"/Val parę znów widzimy Fred, ale pokazano jego isnt cywilny:
{nazwa: 'Fred', wiek: 100, _id: 509edc9d8aafee8672000001}
Jeszcze parę klucz/val jest zdecydowanie tam .. widzimy, że:
console.log(fred.status);
renderuje:
żyje
To samo reprezentacji JSON obiektu, który wyślę do klientów .. "status" existing włączonych ..
Nie rozumiem, dlaczego .. czy ktoś może pomóc?
Czy alternatywnie istnieje lepsze podejście do dodawania atrybutów do schematów mang, które nie są przechowywane w bazie danych?
myślę, że to jest coś, ekscentryczne z obiektami Mongoose. Zawsze dołączam user.avatar do ich adresu URL gravatar. – chovy