【问题标题】:Firebase Functions:cannot read property 'post_id' of undefinedFirebase 函数:无法读取未定义的属性“post_id”
【发布时间】:2018-10-03 00:13:08
【问题描述】:

我正在尝试用我的移动应用程序做一个简单的聊天应用程序 firebase 功能。这是我当前的 javascript 代码:

'use-strict'

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

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

const db = admin.firestore();
db.settings({ timestampsInSnapshots: true });

exports.sendCommentNotification=functions.firestore.document("Notifications/{user_id}/Comment/{comment_id}").onWrite((change,context)=> {

    const user_id=context.params.user_id;
    const comment_id=context.params.comment_id;

  console.log(user_id+":"+comment_id);

return admin.firestore().collection("Notifications").doc(user_id).collection("Comment").doc(comment_id).get().then((queryResult)=>{

        const post_id=queryResult.data().post_id;
        const admin_user_id=queryResult.data().admin_id;
        const noti_id=queryResult.data().notification_id;
        const timestamp=queryResult.data().timestamp;
        const post_desc=queryResult.data().post_desc;

        const admin_data=admin.firestore().collection("Users").doc(admin_user_id).get();
        const commenter_data=admin.firestore().collection("Users").doc(user_id).get();

        return Promise.all([commenter_data,admin_data]).then(result=>{

            const commenter_name=result[0].data().name;
            const commenter_image=result[0].data().image;
            const admin_token=result[1].data().token_id;
            const admin_name=result[1].data().name;

我的firebase日志

TypeError: Cannot read property 'post_id' of undefined
    at admin.firestore.collection.doc.collection.doc.get.then (/user_code/index.js:20:41)
    at process._tickDomainCallback (internal/process/next_tick.js:135:7)

【问题讨论】:

    标签: node.js firebase google-cloud-firestore google-cloud-functions


    【解决方案1】:

    queryResult.data()返回undefined,表示你查询的文档不存在。在尝试访问其数据之前,您应该检查布尔值queryResult.exists 以查看文档是否确实存在。有关更多详细信息,请参阅 DocumentSnapshot 的文档 - 这就是 queryResult 的含义。

    【讨论】:

      猜你喜欢
      • 2018-10-30
      • 2018-04-01
      • 2020-03-26
      • 2018-09-13
      • 1970-01-01
      • 2019-03-18
      相关资源
      最近更新 更多