【发布时间】:2019-07-01 00:45:15
【问题描述】:
所以我在这里失去理智了:/ 我正在尝试使用 Firebase 的功能在用户之间发送通知。
该函数似乎没问题,并且成功获取了路径(在日志上检查过),但是当尝试访问文档时,即使它存在,返回也是“无文档”。 我遇到了很多类似的问题,但没有找到解决方案,请帮助:)
这是函数:
'use-strict'
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
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;
console.log("User ID: " + user_id + " | Notification ID: " + notification_id);
return admin.firestore().collection("users").doc(user_id).collection("notifications").doc("notification_id").get().then(queryResult =>{
if (!queryResult.exists) {
console.log('No documents');
return null;
}else{
const from_user_id = queryResult.data().from;
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 = reuslt[0].data().name;
const to_name = reuslt[1].data().name;
console.log("FROM: " + from_name + " TO: " + to_name);
return null;
});
}
}).catch(err =>{ console.error('Error getting document', err); }); });
这是来自 firebase:
1:00:23.767 AM sendNotification 函数执行耗时 189 毫秒,完成状态为:'error'
1:00:23.762 AMsendNotification TypeError:无法读取属性“来自” 未定义的 admin.firestore.collection.doc.collection.doc.get.then.queryResult (/user_code/index.js:15:44) 在 process._tickDomainCallback (内部/进程/next_tick.js:135:7)
上午 1:00:23.585 发送通知 用户 ID:mpIfC6Ca41eBdwNzwwX3GJaHIfb2 |通知 ID:v89cRRcV2np8IsAwbRu0
1:00:23.578 AM sendNotification 函数开始执行
【问题讨论】:
标签: javascript android firebase google-cloud-firestore google-cloud-functions