MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

आप उल्का में मोंगो से पूछे गए किसी वस्तु की विशेषताओं का उपयोग कैसे करते हैं

find विधि एक कर्सर लौटाती है, न कि वस्तु और न ही सरणी। ऑब्जेक्ट को एक्सेस करने के लिए, आपको या तो इसे कर्सर से लाना होगा

var skill = Skills.find(Session.get('selected_skill')).fetch()[0];

या इसे सीधे findOne . के साथ प्राप्त करें :

var skill = Skills.findOne(Session.get('selected_skill'));

फिर आप इसे किसी अन्य जेएस ऑब्जेक्ट की तरह ही इस्तेमाल कर सकते हैं:

console.log(skill.mana);
skill._cache = {cooldown: true};

ध्यान रखें कि क्लाइंट-साइड पर, संग्रह विधियां जैसे find गैर-अवरुद्ध हैं। उल्का जो कुछ भी कैश में है, वे वापस लौटाते हैं, जरूरी नहीं कि सर्वर-साइड डीबी में क्या है। इसलिए आपको उन्हें हमेशा एक प्रतिक्रियाशील संदर्भ में उपयोग करना चाहिए, या यह सुनिश्चित करना चाहिए कि सभी डेटा निष्पादन से पहले प्राप्त किया गया है (बाद के बारे में चिंता न करें जब तक कि आप उल्का के साथ धाराप्रवाह न हों, पहले तरीके से शुरू करें)।

साथ ही, आपको यह भी ध्यान रखना होगा कि इस वजह से findOne और find.fetch null लौटा सकता है / खाली सरणी, तब भी जब संबंधित तत्व डीबी में है (लेकिन अभी तक कैश नहीं किया गया है)। यदि आप अपने प्रतिक्रियाशील कार्यों में इसे ध्यान में नहीं रखते हैं, तो आप त्रुटियों में भाग लेंगे।

Template.article.slug = function() {
    var article = Articles.findOne(current_article);
    if(!article) return '';
    return slugify(article.title);
};

अगर हम if(!article) . के साथ फंक्शन से नहीं बच पाए , व्यंजक article.title article . के रूप में पहली गणना में त्रुटि उत्पन्न करेगा अपरिभाषित होगा (यह मानते हुए कि इसे पहले कैश नहीं किया गया था)।

जब आप क्लाइंट साइड से डेटाबेस को अपडेट करना चाहते हैं, तो आप एक बार में केवल एक आइटम को बदल सकते हैं, और आपको आइटम को इसके _id द्वारा संदर्भित करना होगा। . यह सुरक्षा कारणों से है। इसके लिए आपकी लाइन ठीक थी:

Skills.update(Session.get('selected_skill'), {$inc: {mana: 1}});

alert() एक फ़ंक्शन है जो लौटाता है अपरिभाषित कोई फर्क नहीं पड़ता कि आप इसे क्या खिलाते हैं।

alert(42); // -> undefined

आम तौर पर, यह दूर होता है console.log के साथ डिबग करना बेहतर है alert . की तुलना में ।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. एक निश्चित बिंदु के निकटतम बिंदु ढूँढना इसके निर्देशांक और अधिकतम दूरी को देखते हुए - मीन स्टैक के साथ नेवला का उपयोग करके क्वेरी परिणाम अपरिभाषित

  2. एक्सप्रेस और पोस्टमैन के साथ एक साथ कई JSON ऑब्जेक्ट पोस्ट करें

  3. मोंगोडीबी $माह

  4. मोंगोडीबी:क्या शेड्यूलर (क्रोनजॉब) का अनुकरण करने के लिए चेंज स्ट्रीम के साथ टीटीएल घटनाओं को कैप्चर करना संभव है?

  5. Mongodb में किसी दस्तावेज़ फ़ील्ड में प्रत्येक सरणी आइटम के आधार पर संग्रह को कैसे फ़िल्टर करें?