मैं एक आवेदन के साथ फायरबेस (रीयलटाइम डेटाबेस) का उपयोग कर रहा हूं और किसी बिंदु पर डेटाबेस के मूल्यों को ऐप द्वारा संशोधित किया जाता है। इस संशोधन को पकड़ने के लिए मैंने एक श्रोता को फायरबेस फ़ंक्शन के रूप में जोड़ा। कोड इस तरह दिखेगा:

exports.chooseWordsGeneration = 
  functions.database.ref("roomsTest").onWrite((change, context) => {
    // Get the path of the modification in the database
});

डेटाबेस के साथ

Current database

तो उदाहरण के लिए यदि ऐप test2 के मान को संशोधित करता है, तो मैं पूरे पथ को "34/test2" पकड़ने में सक्षम होना चाहता हूं। दूसरे शब्दों में मैं जानना चाहता हूं कि कौन सा कमरा संशोधित किया गया था। मैंने onWrite में तर्क के रूप में दिए गए वेरिएबल change के साथ काम करने की कोशिश की लेकिन मैं बहुत सफल नहीं था। आपकी सहायता के लिए धन्यवाद।

0
Rekopx 21 अक्टूबर 2018, 13:24

1 उत्तर

सबसे बढ़िया उत्तर

यदि आप आसानी से "पूरे पथ को '34/test2' पकड़ना चाहते हैं" तो आपको roomsTest के उप-उप-नोड्स को निम्नानुसार सुनना होगा:

exports.chooseWordsGeneration = functions.database
  .ref('roomsTest/{roomId}/{testId}')
  .onWrite((change, context) => {
    console.log(context.params.roomId + '/' + context.params.testId);
    //....
    return false;  //to adapt
  });

ध्यान दें कि change.after.val() फिर आपको testId नोड का मान देगा।

1
Renaud Tarnec 21 अक्टूबर 2018, 13:20