Доступ к значению из ключа через изменение (onWrite) - PullRequest
0 голосов
/ 23 марта 2019

Я пытаюсь получить доступ к значению ключа (узла) из базы данных Firebase в реальном времени.Я использую триггер onWrite, который передает параметры изменения, который содержит снимок базы данных до триггера и после триггера.Поэтому с моментальным снимком после триггера я хочу поместить ключ узла в постоянную переменную, хотя при попытке получить ошибку типа.

Ошибка ошибки типа:

Ошибка типа: изменение.after.ref.child (...). val не является функцией export.sendNotification.functions.database.ref.onWrite (/user_code/index.js:13:64)`

Таким образом, это означает, что .val () нельзя использовать так, как я пытался его использовать, хотя я не вижу никакой другой информации, чтобы узнать, как с этим справиться.

Соответствующий сегмент кода:

'user-strict'
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase); // load the firebase-functions and firebase-admin modules, and initialize an admin app instance from which Realtime Database changes can be made.

exports.sendNotification = functions.database.ref("/Notifications/{user_id}/{notification_type}/{sender_id}").onWrite((change, context) => {

    const user_id = context.params.user_id;
    const notification_type = context.params.notification_type;
    const sender_id = context.params.sender_id;

    //Check if the notification is still to be sent (true not false)
    const notficationValid = change.after.ref.child(sender_id).val();
    console.log(`Notification Valid: `, notficationValid);

Я ожидал, что переменнаяtificationValid будет содержать значение 'true'.

База данных Firebase

enter image description here

1 Ответ

0 голосов
/ 23 марта 2019

.ref в вашем коде не требуется:

change.after.child(sender_id).val()

Вызов .ref на DataSnapshot возвращает вам DatabaseReference, у которого нет метода val().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...