Невозможно прочитать свойство 'From' из неопределенного в /user_code/index.js - PullRequest
0 голосов
/ 20 ноября 2018

Я работаю над отправкой уведомлений между двумя приложениями.Я пытался сделать это через node.js, но теперь я застрял на этой ошибке в течение 1 месяца, но не нашел решения этой проблемы. Пожалуйста, помогите мне в этом.это очень важно для меня. Я буду очень благодарен за любую помощь.

"use-strict"
const functions = require('firebase-functions');
const admin= require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendNotification= functions.firestore.document('Users/{user_id}/Notifications/{notification_id}').onWrite((change, context) => {

const user_id= context.params.user_id;
const notification_id= context.params.notification_id;

return admin.firestore().collection("ServiceProviders").doc(user_id).collection("Notifications").doc("notification_id").get().then(querySnapshot => {
  const from_user_id= querySnapshot.data().From;
  const from_message= querySnapshot.data().message;

  const from_data= admin.firestore.collection("Users").doc(from_user_id).get();
  const to_data= admin.firestore.collection("Users").doc(user_id).get();


  return Promise.all([from_data, to_data]).then(result => {

    const from_name=result[0].data().name;
    const to_name=result[1].data().name;
    const token_id= result[1].data().token_id;

     const payload= {
       notifications:{
         title: "Notification from : " + from_name,
         body: from_message,
         icon:"default"
       }
     };
    return admin.messaging().sendToDevice(token_id, payload).then(result => {
     return console.log("Notification Sent");
    });
  });
});

вот чудовищная ошибка `

1 Ответ

0 голосов
/ 20 ноября 2018

Ваш запрос пожарного магазина ничего не возвращает;вероятно, потому что либо документ / коллекция не существует.

Сразу видно, что ваш «tification_id »запрашивается как строка, а не как const, который вы установили ранее.Это что-то вроде игры, но изменение строки 10 на это может помочь:

return admin.firestore().collection("ServiceProviders").doc(user_id).collection("Notifications").doc(notification_id).get().then(querySnapshot => {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...