База данных не определена Firebase Функции - PullRequest
0 голосов
/ 16 февраля 2020

Я создал функцию, которая отправляет уведомления пользователю, если он получает новое сообщение.

Проблема заключается в том, что я пытаюсь получить ReceiverId из моей базы данных реального времени. , используя этот код:

const receiverRefId = database.ref("/chats/{id}/messages/{id}/receiver/{receiverId}"), а затем .once() и так далее ... журнал консоли выводит эту ошибку:

ReferenceError: database is not defined
    at exports.sendNotification.functions.database.ref.onWrite (/srv/index.js:23:27)
    at cloudFunction (/srv/node_modules/firebase-functions/lib/cloud-functions.js:131:23)
    at /worker/worker.js:825:24
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:229:7)

Это мой код:

  const functions = require('firebase-functions');

  const admin = require('firebase-admin');

  admin.initializeApp(functions.config().firebase);


  exports.sendNotification = functions.database.ref("/chats/{id}/messages")
  .onWrite((change,context) => {
      var content = change.after.val();

      var payload = {
          data:{
              title: "Stranger has sent you a message",
              text: content
          }
      };


      // This is the receiver Id reference
      // But the console log keeps telling me that "database" is not defined
      const refSenderId = database.ref("/chats/{id}/messages/{id}/receiver/{receiverId}");


      return refSenderId.once('value')
       .then(dataSnapshot => {
           const receiverId = dataSnapshot.val();
           return admin.messaging().sendToDevice(receiverId, payload)
       })
      .then(function(response){
          console.log("Successfully sent message: ", response);
          return null;
      })
      .catch(function(error){
          console.log("Error sending message: ", error);
          return null;
      })
  });

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