2012-04-27 16 views
6

मैं लीडरबोर्ड उदाहरण संशोधित दो संग्रह का उपयोग करें:मैं कैसे प्रबंधित कर सकता हूं कि मेटर क्लाइंट के कैश में कौन सा डेटा सिंक किया गया है?

Players = new Meteor.Collection("players"); 
Tasks = new Meteor.Collection("tasks"); 

खिलाड़ियों संग्रह 6 दस्तावेजों उदाहरण में परिभाषित किया गया है।

> db.players.count() 
6 

कार्य संग्रह में 48,000 दस्तावेज़ हैं।

> db.tasks.count() 
48000 

जैसे ही मैंने ब्राउज़र खोलते हैं, नोड 100% सीपीयू के लिए कूदता है और ग्राहक कार्य रिकॉर्ड के किसी भी नहीं देख सकता।

Players.find().count() 
6 
Tasks.find().count() 
0 

मैं क्वेरी मापदंड को परिभाषित करने की कोशिश की लेकिन यह है कि केवल सर्वर पर काम करता है और ग्राहक पर मदद नहीं करता है।

Players.find({name:"Claude Shannon"}).count(); 
1 
Tasks.find({tid:"t36254"}).count(); 
0 

मुझे लगता है कि 48,000 दस्तावेज़ सिंक करने के लिए बहुत अधिक हैं। इससे नोड को 100% सीपीयू और क्लाइंट को इस तरह की त्रुटियों को फेंकने का कारण बन रहा है: http://i.imgur.com/zPcHO.png

मैं सबकुछ सिंक करने से कैसे रोकूं और केवल संग्रह से विशिष्ट दस्तावेज़ पुनर्प्राप्त करूं?

+1

जवाब का एक हिस्सा प्रतीत होता है कि autopublish फ़ंक्शन को अक्षम करना है। Autopublish कुछ उदाहरणों के साथ सरल उदाहरण "बस काम" करता है, लेकिन यह अधिक डेटा के साथ अच्छा नहीं करता है। प्रोजेक्ट निर्देशिका में, 'उल्का ऑटोपब्लिश हटाएं' का उपयोग करें। फिर अपना खुद का प्रकाशन लिखें और सब्सक्राइब करें। –

उत्तर

18

उल्का का ऑटोपब्लिश, जो क्लाइंट को आपके सभी संग्रह प्रकाशित करता है, बहुत प्रभावशाली है और चीजें तेजी से काम करता है, लेकिन यह रेल की मचान की कार्यक्षमता की तरह है - असली ऐप्स के लिए बहुत उपयोगी नहीं है - यह सीखने और प्रोटोटाइप के लिए है।

डिफ़ॉल्ट रूप से, उल्का स्वचालित रूप से प्रत्येक संग्रहित ग्राहक को आपके संग्रह में प्रत्येक दस्तावेज़ प्रकाशित करता है। इस व्यवहार को बंद करने के लिए, पैकेज निकालें:

$ उल्का autopublish

को दूर फिर, मैनुअल का उपयोग प्रकाशित करें और कार्यों सदस्यता के लिए जानने के लिए, जो आप नियंत्रण की जरूरत है प्रदान करता है: http://docs.meteor.com/#publishandsubscribe

+1

असुरक्षित भी हटाएं: उल्का असुरक्षित हटाएं – radtek

+0

@radtek: यह महत्वपूर्ण है कि हम सुरक्षा के लिए 'असुरक्षित' पैकेज को हटा दें लेकिन किसी को ध्यान रखना चाहिए कि इसे हटाने से मूल प्रश्न का उत्तर नहीं मिलता है। – Clawsy

+0

@Clawsy मेरी टिप्पणी वर्तमान उत्तर के अतिरिक्त है, पूर्ण जवाब नहीं। – radtek

संबंधित मुद्दे

 संबंधित मुद्दे