मेरे पास मेरे मोंगोज़ मॉडल पर कुछ जानकारी है जो क्षणिक है। प्रदर्शन कारणों से मैं इसे मॉडल के खिलाफ स्टोर नहीं करना चाहता हूं .. लेकिन मैं यह जानकारी उन ग्राहकों को प्रदान करने में सक्षम होना चाहता हूं जो मेरे सर्वर से जुड़ते हैं और इसके लिए पूछते हैं।उदाहरण पर मोंगोस कुंजी/वैल सेट जेएसओएन या कंसोल में नहीं दिखाया गया .. क्यों?
यहाँ एक सरल उदाहरण है:
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 });
व्यक्ति स्कीमा दो विशेषताओं है कि मैं संग्रहीत करना चाहते हैं (नाम और आयु) .. यह काम करता है .. और हम कंसोल में देखना है:
console.log(fred);
{नाम: 'फ्रेड', उम्र: 100, _ id: 509edc9d8aafee8672000001}
मैं तथापि करना एक विशेषता ("स्थिति") है जो तेजी से बदलती है और मैं इसे डेटाबेस में संग्रहीत नहीं करना चाहता हूं .. लेकिन मैं इसे गतिशील रूप से ट्रैक करना चाहता हूं और इसे ग्राहकों को प्रदान करना चाहता हूं ताकि मैं इसे एक कुंजी/वैल जोड़ी के रूप में उदाहरण में जोड़ूं।
fred.status = "alive";
अगर हम पर फ्रेड कंसोल में फिर से "जीवित" कुंजी/वैल जोड़ी को जोड़ने के बाद देखने के लिए हम फिर से fred देखते हैं, लेकिन उनकी स्थिति नहीं है दिखाया गया है:
{नाम: 'फ्रेड', उम्र: 100, _ id: 509edc9d8aafee8672000001}
फिर भी कुंजी/वैल जोड़ी है निश्चित रूप से वहाँ .. हम देखते हैं कि:
console.log(fred.status);
renders:
जिंदा
एक ही वस्तु है कि मैं ग्राहकों .. "स्थिति" नहीं है शामिल करने के लिए भेज रहा हूं की JSON प्रतिनिधित्व का सच है ..
मुझे समझ में नहीं आता .. क्यों कोई मदद कर सकता है?
या, वैकल्पिक रूप से, डेटाबेस के लिए जारी नहीं होने वाले मोंगोज़ स्कीमा में विशेषताओं को जोड़ने के लिए एक बेहतर तरीका है?
मुझे लगता है कि यह कुछ नेवला वस्तुओं के साथ विचित्र है। मैं हमेशा अपने gravatar यूआरएल होने के लिए user.avatar संलग्न करते हैं। – chovy