मैं निम्नलिखित कार्यों कि इतने की तरह एक डेटाबेस ट्रिगर के लिए एक onWrite घटना को सुनता है के लिए जाँच हो रही है हटा दिया या जोड़ा गया। मैं कैसे जांचूं कि ऑनवाइट ईवेंट उस विशेष नोड के लिए 'डिलीट' ईवेंट है, या 'एड' इवेंट है, जैसे कि यह फ़ंक्शन केवल 'एड' ईवेंट होने पर ही कॉल हो जाता है।Firebase:</p> <pre><code>exports.sendNotifications = functions.database.ref('/events/{eventId}/registered') .onWrite(event => { ... }); </code></pre> <p>ऊपर समारोह परवाह किए बिना कहा जाता है नोड है कि क्या: 'लिख सकते हैं या हटा सकते हैं' onWrite घटनाक्रम
5
A
उत्तर
5
event
जो फ़ंक्शन में पारित होता है, उसमें पिछले डेटा और उस स्थान के लिए नया डेटा होता है जो फ़ंक्शन को ट्रिगर करता है। जानकारी के इन दो टुकड़ों के साथ, आप कटौती कर सकते हैं कि यह एक नया लेखन, एक अद्यतन, या एक हटा था।
:
exports.makeUppercase = functions.database.ref('/messages/{pushId}/original') .onWrite(event => { // Only edit data when it is first created. if (event.data.previous.exists()) { return; } // Exit when the data is deleted. if (!event.data.exists()) { return; }
0
तो बादल firestore करने के लिए अपने परिवर्तन तो यह हो जाएगा:
// Only edit data when it is first created.
if (event.data.previous.exists) {
return;
}
// Exit when the data is deleted.
if (!event.data.exists) {
return;
}
0
निम्न आलेख पढ़ने के बाद, घटना तत्व पर एक और जाँच जोड़ने if-then
कथन के कुछ फायदे हैं: https://firebase.googleblog.com/2017/07/cloud-functions-realtime-database.html
exports.sendNotification = functions.database
.ref("/messages/{messageId}").onWrite(event => {
if (event.data.exists() && !event.data.previous.exists()) {
// This is a new message, not a change or a delete.
// Put code here
}
})
यदि डेटाबेस से पढ़ा गया विफल (शायद एक नेटवर्क त्रुटि ???), तो event.data.previous.exists()
गलत होगा। event.data.exists()
के अतिरिक्त यह सुनिश्चित करता है कि ईवेंट तत्व में वास्तव में डेटा है जिसका आप उपयोग कर सकते हैं।
संबंधित मुद्दे
- 1. "ऑपरेटर <<" क्या कहा जाता है?
- 2. प्रतिनिधि:</p> <ul> <li>विधेय</li> <li>कार्रवाई</li> <li>समारोह</li> </ul> <p>क्या अन्य प्रतिनिधियों: विधेय कार्रवाई समारोह
- 3. <% $, <% @, <% =, <% # ... सौदा क्या है?
- 4. >>>>,> |, ||, | <, <, <<
- 5. <script></script> या <script />?
- 6. क्या टर्मिनल <Shift-Enter> या <Control-Enter> का पता लगा सकते हैं?
- 7. क्या है?</p> <pre><code>int main(){ <:]{%>; // smile! } </code></pre> <p><a href="http://ideone.com/inXuVc">Live example.</a></p> <p>क्या कार्यक्रम क्या करता है, और कहा कि स्माइली अभिव्यक्ति क्या है:
- 8. PHP/MySQL: भारी SQL क्वेरी या कई छोटे प्रश्न?</p> <p>टेबल <code>building</code>:</p> <ul> <li>आईडी</li> <li>attribute1</li> <li>attribute2</li> </ul> <p>डाटा में वहाँ की तरह है:
- 9. <required> और <rtexprvalue> क्या हैं?
- 10. सी में शाब्दिक चरित्र: क्या यह एक int या char है?</p> <pre><code>int i = 0 + 'A'; </code></pre> <p><code>'A'</code><code>char</code> या <code>int</code> माना जाता है:
- 11. प्रक्रिया कर सकते हैं। वर्तमान प्रक्रिया के लिए क्या सही हो गया है?</p> <pre><code>if (Process.GetCurrentProcess().HasExited) { // do something } </code></pre> <p>इस कोई मतलब है:
- 12. रुबी में i.to_s का अर्थ क्या है?</p> <pre><code>i.to_s </code></pre> <p>ऊपर कोड <code>i</code> में एक पूर्णांक है:
- 13. <<..>> = आउटपुट
- 14. इन <%$ %> asp.net मार्कअप टैग क्या कहा जाता है?
- 15. मैं दो एल्गोरिदम <code>A()</code> और <code>B()</code> ऐसे जबकि एल्गोरिथ्म <code>B()</code><code>O(n^2)</code> लेता है कि एल्गोरिथ्म <code>A()</code> बिल्कुल <code>O(3n^2)</code> जाता है जब हम समय
- 16. कीवर्ड का उपयोग किए बिना</p> <pre><code>throws ArithmeticException </code></pre> <p>रनटाइम अपवाद
- 17. एकाधिक <html><body></html></body> उसी फ़ाइल में
- 18. क्या उद्देश्य-सी में कस्टम निर्देश बनाना संभव है?</p> <ul> <li>@interface</li> <li>@implementation</li> <li>@end</li> <li>@protocol</li> <li>@property</li> <li>@synthesize</li> </ul> <p>मुझे लगता है कि:
- 19. PHP क्या <<< मतलब है?
- 20. PHP में <<< ईओडी का उपयोग क्या है?
- 21. मैं पायथन में किसी सूची में कोई भी मूल्य कैसे जोड़ सकता हूं?</p> <pre><code>A = ['Yes'] </code></pre> <p>मैं</p> <pre><code>A = ['Yes',None] </code></pre> <p>मैं यह कैसे कर सकते हैं करना चाहते हैं:
- 22. क्या has_many एसोसिएशन पर "first_or_build" विधि है? इसका मतलब है आप भी कर सकते हैं</p> <pre><code>SomeModel.some_scope.first_or_initialize </code></pre> <p>:
- 23. अभिव्यक्ति <समारोह <T1,bool>> अभिव्यक्ति करने के लिए <समारोह <T2,bool> कन्वर्ट गतिशील
- 24. समारोह <T>
- 25. ओवरलोडिंग :: समारोह <...>
- 26. Enumerable.ToList <>() <>
- 27. "<%:" क्या करता है?</p> <pre><code><%: Model.FirstName %> </code></pre> <p>क्या "<%:" करता है: कर
- 28. नया स्थिर क्या मतलब है?</p> <pre><code>return new static($view, $data); </code></pre> <p>आप <code>new static</code> कैसे समझते हैं:
- 29. सूची है। क्या कोई प्रदर्शन जुर्माना है?</p> <pre><code>List<object> SomeList = new List<object>(); </code></pre> <p>कर करता है:</p> <pre><code>SomeList.Insert(i, val); </code></pre> <p>बनाम
- 30. क्या आप एक बूस्ट :: वैकल्पिक <> कर सकते हैं?
सुनिश्चित करें कि यदि आप कोई काम नहीं करते हैं तो आप फायरबेस फ़ंक्शन से शून्य वापस कर लें –