मैं फायरस्टोर से शुरू कर रहा हूं। मैंने ऑफलाइन डेटा दृढ़ता के बारे में दस्तावेज़ और ट्यूटोरियल पढ़े हैं, लेकिन अगर सामग्री को संशोधित नहीं किया गया है तो भी फायरस्टोर डेटा फिर से डाउनलोड करता है, तो मुझे वास्तव में स्पष्ट नहीं किया गया है। उदाहरण के लिए, यदि मेरे पास कोई प्रश्न है जहां परिणाम सप्ताह में एक बार अपडेट किए जाएंगे और मुझे यह आवश्यक नहीं है कि ऐप सामग्री को तब तक डाउनलोड करे जब तक परिवर्तन नहीं किए जाते, कोड लिखने में दक्षता के मामले में सबसे अच्छा तरीका क्या है ? धन्यवाद!फायरस्टोर - ऑनलाइन सामग्री अपडेट तक कैश का उपयोग
उत्तर
आप अपनी क्वेरी को सुनने के लिए "स्नैपशॉट श्रोता" एपीआई का उपयोग करना चाहते हैं:
db.collection("cities").where("state", "==", "CA")
.onSnapshot(function(querySnapshot) {
var cities = [];
querySnapshot.forEach(function(doc) {
cities.push(doc.data().name);
});
console.log("Current cities in CA: ", cities.join(", "));
});
पहली बार ऐसा श्रोता देते Firestore का उपयोग करेंगे: https://firebase.google.com/docs/firestore/query-data/listen#listen_to_multiple_documents_in_a_collection
यहाँ एक उदाहरण के रूप में कुछ जावास्क्रिप्ट है नेटवर्क को आपकी क्वेरी में सभी परिणामों को डाउनलोड करने और आपको एक क्वेरी स्नैपशॉट प्रदान करने के लिए, जैसा कि आप उम्मीद करेंगे।
यदि आप एक ही श्रोता को दूसरी बार संलग्न करते हैं और आप ऑफलाइन दृढ़ता का उपयोग कर रहे हैं, तो श्रोता को कैश के परिणामों के साथ तुरंत निकाल दिया जाएगा। यहाँ आप कैसे पता लगा सकते हैं कि यदि आपके परिणाम कैश या स्थानीय से है:
db.collection("cities").where("state", "==", "CA")
.onSnapshot({ includeQueryMetadataChanges: true }, function(snapshot) {
snapshot.docChanges.forEach(function(change) {
if (change.type === "added") {
console.log("New city: ", change.doc.data());
}
var source = snapshot.metadata.fromCache ? "local cache" : "server";
console.log("Data came from " + source);
});
});
आप कैश्ड परिणाम प्राप्त करने के बाद, इस firestore अगर आपकी क्वेरी के परिणाम में कोई परिवर्तन कर रहे हैं देखने के लिए सर्वर के साथ की जाँच करेगा। यदि हां, तो आपको बदलावों के साथ एक और स्नैपशॉट मिलेगा।
आप परिवर्तन है कि केवल मेटाडाटा शामिल हैं (उदाहरण के लिए अगर कोई दस्तावेज snapshot.metadata.fromCache
परिवर्तन बदल सकता है लेकिन) की सूचना प्राप्त करना आप QueryListenOptions
उपयोग कर सकते हैं जब आपकी क्वेरी जारी करने चाहते हैं: https://firebase.google.com/docs/reference/android/com/google/firebase/firestore/QueryListenOptions
- 1. फायरस्टोर ऑफ़लाइन कैश
- 2. फायरस्टोर
- 3. फायरस्टोर: फायरस्टोर मूल्य निर्धारण बनाम जुड़ता है
- 4. एसवीएन कैश अपडेट
- 5. कार्यान्वयन या फायरस्टोर क्वेरी में - फायरबेस फायरस्टोर
- 6. कैश मेनिफेस्ट: पसंदीदा-ऑनलाइन सेटिंग क्या है?
- 7. सीपीयू कैश सामग्री पढ़ें
- 8. ToggleButton सामग्री का रंग कैसे अपडेट करें?
- 9. बिल्ड एक्शन का उपयोग कर फ़ाइलों तक पहुंच: सामग्री
- 10. वार्निश कैश की सूची सामग्री?
- 11. क्या file_get_contents कैश का उपयोग करते हैं?
- 12. फायरस्टोर क्वेरी तिथि सीमा
- 13. एंड्रॉइड में ऑनलाइन mysql डेटाबेस तक कैसे पहुंचे?
- 14. firebase.firestore() क्लाउड फायरस्टोर
- 15. NSFetchedResultsController कैश का सही उपयोग
- 16. सामग्री का उपयोग कैसे करें ताकि सामग्री
- 17. एएसपी.NET से आईआईएस कर्नेल कैश तक पहुंचने का कोई तरीका?
- 18. नियंत्रण-कैश हेडर का उपयोग कैसे करें?
- 19. उपयोग ServiceWorker कैश जब ऑफ़लाइन
- 20. कैश निर्देशिका में सामग्री को कैसे निकालें?
- 21. django में locmem कैश की सामग्री?
- 22. कैश उपयोग
- 23. ऑनलाइन
- 24. मीडिया प्लेयर कैश तक पहुंच प्राप्त करना
- 25. पाइथन urllib एक ऑनलाइन निर्देशिका की सामग्री डाउनलोड करने
- 26. ऑनलाइन
- 27. कैश बनाने के लिए MapMaker का उपयोग
- 28. एचटीएमएल 5 कैश प्रकट और सामग्री प्रकार
- 29. अपडेट पैनल सामग्री अपडेट नहीं कर रहा है
- 30. SharePoint सामग्री प्रकार को कैसे अपडेट करें?