node.js - Firebase 函数:无法读取未定义的属性“post_id”
问题描述
我正在尝试用我的移动应用程序做一个简单的聊天应用程序 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;
我的火力基地日志
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)
解决方案
queryResult.data()
正在返回undefined
,表示您查询的文档不存在。queryResult.exists
在尝试访问其数据之前,您应该检查布尔值以查看文档是否确实存在。有关更多详细信息,请参阅DocumentSnapshotqueryResult
的文档 - 就是这样。
推荐阅读
- java - Informix JDBC url 可信连接
- android - 如何摆脱 Windows 10 中的“emulator-5580 offline”?
- postgresql - 在考虑冲突键的 PostgreSQL 数据库之间移动数据
- python - 从给定的 txt 文件中获取 X & Y 尺寸
- android - Android - 如果用户打开通知并按下后退按钮,应用程序将关闭
- .net - 获取从 NetworkStream.EndWrite() 读取的字节数
- javascript - 有没有办法使用 requests python 模块获取 js 显示数据?
- python - 沿特定维度和特定通道索引整个张量
- pdf - 如何修复“未定义的控制序列”错误以将 JupyterNotebook 转换为 PDF?
- python - 在本地 linux 机器和谷歌 colab 上 gpu 使用 tensorflow 的差异