स्थिति:एक नोड से दूसरे नोड में एक बच्चे नोड की प्रतिलिपि कैसे करें?
मैं दूसरे नोड में) childNode, तो सेट (डाउनलोड करने के लिए यह आवश्यकता होगी।
समस्या मैं केवल एक बार childNode के स्कोर विशेषता तक पहुँच जाता है ऐसा करना चाहते है 100
कहाँ और अगर पदों 100 या अधिक के स्कोर है जब मैं जाँच करनी चाहिए और कैसे मैं उन्हें नया सूचकांक में प्रतिलिपि हैं केवल एक बार
क्या मैं के बारे में सोचा:
जब एक पोस्ट भरी हुई है, जाँच यह स्कोर है के लिए। यदि यह> = 100 है, तो यदि ऐसा है तो डेटाबेस में जांचें। फिर नोड को नई अनुक्रमणिका में धक्का दें।
समस्या:
मैं हर बार पोस्ट के बाद से यह स्कोर है> = 100 से अधिक भार पर लोड किया जाता अपलोड होने से नोड कैसे रोका जा सके? मुझे केवल एक बार होने की ज़रूरत है!
समाधान कोड:
if (funPost.score >= global.hotNumber && funPost.hot == false) {
var hotPostRef = firebase.database().ref("hot/section/"+key);
var hotPost = {
title: funPost.title,
image: funPost.image,
id: funPost.id,
key: funPost.key
}
hotPostRef.set(hotPost);
funPostRef.update({"hot": true});
}
else if (funPost.score <= (global.hotNumber - 25) && funPost.hot == true) {
var hotPostRef = firebase.database().ref("hot/section/"+key);
hotPostRef.remove();
funPostRef.update({"hot": false});
}
समाधान: मैं एक बूलियन ध्वज का उपयोग कर समाप्त हो गया।
जब आप डेटा पढ़ रहे हों तो आप '> = 100' अनुक्रमणिका बना रहे हैं। क्या इसका कोई कारण है? क्या आपने डेटा लिखते समय इंडेक्स का निर्माण करने पर विचार किया है? क्या कोई कारण नहीं है जिसे आप नहीं कर सकते? ऐसा करना अपेक्षाकृत सीधे आगे है। – cartant
यदि आप स्कोर वाले नोड में एक पर्यवेक्षक जोड़ते हैं, तो यह अपडेट होने पर आपके ऐप को सूचित करेगा। तो जब यह आपके ऐप को सूचित करता है, तो जांचें कि यह 100 है और यदि ऐसा है, तो नोड डाउनलोड करें, 0 पर स्कोर करें और प्रतिलिपि करें।यदि यह एक शॉट डील है तो आप बस अपने ऐप को वरीयता नोड की जांच कर सकते हैं जिसमें नोड/चाहिए_ब्सर्व शामिल है: सत्य और केवल सही नोड्स का निरीक्षण करें यदि यह सत्य है, तो गलत है, तो पर्यवेक्षक को न जोड़ें। हालांकि, पूरे नोड को डाउनलोड करना और इसे वापस लिखना ओवरकिल जैसा लगता है। तुम वो क्यों कर रहे हो? – Jay
@Jay अगर आप मेरा res.render() देखते हैं, तो आप देखेंगे कि मैं अगले पोस्ट पर जानकारी प्रदर्शित करने के लिए पूरी पोस्ट पास कर रहा हूं। लेकिन सब ठीक है: मैं एक बूलियन ध्वज का उपयोग कर समाप्त हुआ। आज रात मेरे कोड पोस्ट करेंगे। – Coder1000