【发布时间】:2021-02-23 22:20:13
【问题描述】:
我正在尝试创建一个功能,一旦文档更改,推送通知就会发送到用户的移动设备。这是函数的代码:
exports.userProfileChanged = functions.firestore.document('/agents/{agentId}').onWrite( (change, context) => {
const userId = context.params.userId;
console.log('A change has been made to user profile');
// Get the user device token
const getUserDeviceToken = db.document('/device/{agentId}').once('value');
// The snapshot to the user's tokens.
let deviceTokens;
const results = Promise.all([getUserDeviceToken]);
deviceTokens = results;
if (deviceTokens == null) {
return console.error('No device tokens found');
}
let title = "Changes have been made";
let body = "changes have been made to your user profile";
const payload = {
notification: { title: title, body: body},
token: snap.data().token,
data: {click_action: 'FLUTTER_NOTIFICATION_CLICK' }
};
const response = admin.messaging().sendToDevice(deviceToken, payload);
if (response.error) {
console.error("Error sending message: ", response.error);
} else {
return console.log("Message sent successfully!");
};
return Promise.all(console.log('End of function'));
});
这是在 Firebase 的函数日志中发现的错误: 用户资料已更改 TypeError: db.document 不是函数
我做错了什么?
【问题讨论】:
标签: node.js firebase google-cloud-functions