无法读取未定义的属性“user_id”

2024-07-03

我想通过 firebase 云功能向设备发送推送通知。我正在编写node.js脚本

exports.sendNotification = functions.database.ref('/messages/{user_id}/{rec_user_id}').onWrite((event) => {

const sender_user_id = event.params.user_id;
const receiver_user_id = event.params.rec_user_id;

console.log('We have a notification from : '+ sender_user_id+  " | Receiced by " + receiver_user_id);

return;

});

在 firebase cloud 上部署功能后出现错误

TypeError: Cannot read property 'user_id' of undefined

完整的错误日志是:

TypeError: Cannot read property 'user_id' of undefined
at exports.sendNotification.functions.database.ref.onWrite.event (/user_code/index.js:28:40)
at Object.<anonymous> (/user_code/node_modules/firebase-functions/lib/cloud-functions.js:112:27)
at next (native)
at /user_code/node_modules/firebase-functions/lib/cloud-functions.js:28:71
at __awaiter (/user_code/node_modules/firebase-functions/lib/cloud-functions.js:24:12)
at cloudFunction (/user_code/node_modules/firebase-functions/lib/cloud-functions.js:82:36)
at /var/tmp/worker/worker.js:700:26
at process._tickDomainCallback (internal/process/next_tick.js:135:7)

我得到了答复here https://stackoverflow.com/questions/49647170/firebase-functions-cannot-read-property-user-id-of-undefined

它工作正常,但是当我使用时

if(!event.data.val()){

return console.log('A Notification has been deleted from the database : ', sender_user_id);

}

Firebase 日志再次开始给我一条错误消息:

Cannot read property 'val' of undefined

如何消除这些错误? 提前致谢


关于val()您需要执行以下操作:

exports.sendNotification = functions.database.ref('/messages/{user_id}/{rec_user_id}').onWrite((change,context) => {

const afterData=change.after.val();
});

既然你正在使用onWrite()那么数据参数应该是change,其中有before and after属性,其中每一个都是一个DataSnapshot它有以下方法:

https://firebase.google.com/docs/reference/admin/node/admin.database.DataSnapshot https://firebase.google.com/docs/reference/admin/node/admin.database.DataSnapshot

也供参考:

https://firebase.google.com/docs/reference/functions/functions.Change https://firebase.google.com/docs/reference/functions/functions.Change

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法读取未定义的属性“user_id” 的相关文章

  • “电子打包器”不被识别为内部或外部命令

    我最近开始使用电子 我通过创建 hello world 应用程序 包括文件 index html main js package json 成功完成了第一阶段 现在我尝试使用电子打包器打包应用程序 但收到此错误 我遵循的步骤 创建了一个名为
  • 如何在 eclipse 中安装最新版本的 Xuggler(5.4,截至 18/05/2013)?

    我真的不知道从哪里开始这样做 我已经从网站下载了必要的 Jar 并对如何在 Eclipse 中安装 Xuggler 进行了一些研究 但所有内容都已过时或不相关 我的系统是 64 位 Windows 8 大多数在 Vista 和 Window
  • 在Python中返回外部函数错误

    这就是问题 给定以下 Python 程序 假设用户从键盘输入数字 4 返回的值是多少 N int input enter a positive integer counter 1 while N gt 0 counter counter N
  • 使用属性初始化 Angular 2 组件[重复]

    这个问题在这里已经有答案了 有没有办法将参数传递到 Angular 2 组件的根 我已经能够使用属于内部组件模板一部分的组件来执行此操作 但不能使用根组件来执行此操作
  • 比较(密码)属性

    我想使用下面的代码为新用户创建一个视图模型 User 类仅包含我将保留到数据库的两个属性 目前已简化 视图模型添加了一个 比较密码 字段 该字段仅在视图中使用 我更喜欢让视图模型直接使用 User 类 而不是重复 User 中定义的所有字段
  • 像 Twilio 一样按日期对 REST api 进行版本控制有什么好处?

    基本上 我认为对 REST api 进行版本控制是个好主意 这是常识 通常您会遇到两种执行此操作的方法 或者 您的 url 中有一个版本标识符 例如 api v1 foo bar 或者 您使用标头 例如Accept vnd myco v1
  • 如何转义 XML 中的 & 符号,以便它们在 HTML 中呈现为实体?

    我有一些 XML 文本希望在 HTML 页面中呈现 该文本包含一个 符号 我想在其实体表示中呈现它 amp 如何在源 XML 中转义这个 符号 我试过 amp 但这被解码为实际的 符号 即在 HTML 中无效 https stackover
  • 在实际应用或执行之前验证 yaml 中定义的 OpenShift 对象

    我在 template yaml 文件中有一个 OpenShift 模板 其中包括以下对象 部署配置 pod 服务和路由 我使用以下命令来执行 yaml oc process f template yml oc apply f 我想在实际应
  • 将 WebView 保存为 PDF 返回空白图像?

    我正在尝试弄清楚如何将 WebView 保存到 PDF 并且完全卡住了 真的很感激一些帮助吗 我在 OSX 上的 Cocoa 和 Swift 中执行此操作 这是到目前为止我的代码 import Cocoa import WebKit cla
  • java中的长轮询

    我已经编写了用于长轮询的服务器端代码 我想用java写客户端程序 因此 根据长轮询 客户端发送一个由服务器帮助的请求 当事件发生时服务器响应该请求 然后客户端发送新的请求 所以我面临的麻烦是用java编写的客户端 发送请求后 如何继续检查客
  • JavaScript 开发人员不使用 Array.push() 是否有原因?

    我经常看到开发人员在 JavaScript 中使用如下所示的表达式 arr arr arr length Something arr arr length Another thing 不会push更合适吗 arr arr push Some
  • 谷歌模拟 - 我可以在同一个模拟对象上多次调用 EXPECT_CALL 吗?

    如果我打电话EXPECT CALL在同一个模拟对象上两次TEST F 会发生什么 期望是否附加到模拟对象中 或者第二次调用是否消除了第一次调用的效果 I found 后子句 https github com google googletes
  • 滚动后 ListView 未显示正确的值

    在我的应用程序中我使用的是CustomListView与ArrayAdapter显示不同国家的时间 但在 6 到 7 行之后 取决于手机屏幕尺寸 时间值会重复 根据之前的一些文章 我编写了以下代码片段来获得解决方案 但问题仍然存在 以下是我
  • 如何等待进程及其所有子进程退出?

    是否有一个等待方法 当目标进程及其所有子进程退出时会返回 看来 Process WaitForExit 只会等待目标进程 net 中有一个错误会给出您所追求的行为 WaitForExit 如果您异步读取输出 将等待所有子进程 p Start
  • python easy_install:指定存放所需文件的目录

    我正在尝试使用 easy install 来安装 MySQL python 它几乎立即失败 mysql c 36 23 错误 my config h 没有这样的文件或目录 mysql c 38 19 错误 mysql h 没有这样的文件或目
  • 使用部署在 Tomcat 中的 Web 应用程序关闭 Tomcat

    我对我的 webapp 开发中遇到的 tomcat 操作有一些疑问 有什么办法可以从部署在tomcat中的web应用程序中关闭tomcat本身吗 tomcat 是否在一个 JVM 或单个 JVM 中运行其所有 webapps war 或者在
  • 带图像背景的页面的 V 形部分

    I m trying to make a one page website But I would like something to diversify it from all other similar sites I came up
  • 在模拟器中实施应用内结算

    我一直在阅读有关 Android 应用程序的 实施应用内计费 的内容 并且文档说不可能在模拟器中测试该应用程序 真的吗 我正在开发的手机没有 移动数据计划 因此我尝试通过 USB 通过 PC 连接手机 但由于我的 PC 位于代理后面 因此我
  • 使用 M1 Mac 进行 Python 多处理

    我有一台 Mac Mac Os 11 1 Python Ver 3 8 2 需要在多处理中工作 但程序不起作用 import multiprocessing def func index int print index manager mu
  • JS:在调用文件中的每个其他函数之前调用某个函数

    我有一个关于在 JS 中更好地重用代码的问题 例如我有文件functions js具有以下功能 export const a gt export const b gt export const c gt const foo gt 我想在调用

随机推荐

  • Firestore array-contains-any 无法正常工作

    angular fire 5 2 3 firebase 7 4 0 Note members is an array0 1 2 是map数据结构 服务 ts getUserChatGroups uid string Observable
  • Cassandra 与 Hive

    我是 cassandra 和 Hive 的新手 现在我想将 cassandra 与 Hadoop Hive 集成 但是如何将 cassandra 与 Hive 集成 您很幸运 DataStax 刚刚发布了 Brisk 这是一个集成 Hado
  • Cassandra 与 Hive

    我是 cassandra 和 Hive 的新手 现在我想将 cassandra 与 Hadoop Hive 集成 但是如何将 cassandra 与 Hive 集成 您很幸运 DataStax 刚刚发布了 Brisk 这是一个集成 Hado
  • OpenGL - 顶点或片段着色器中的纹理映射?

    片段着色器或顶点着色器中是否映射了对象 三角形的纹理 无论是在顶点着色器还是片段着色器上 如果您正在编程着色器 那么您必须自己编写代码 对吧 如果没有着色器 您只需分配 tex 坐标并在您不知道的情况下进行 opengl 映射 但是使用着色
  • OpenGL - 顶点或片段着色器中的纹理映射?

    片段着色器或顶点着色器中是否映射了对象 三角形的纹理 无论是在顶点着色器还是片段着色器上 如果您正在编程着色器 那么您必须自己编写代码 对吧 如果没有着色器 您只需分配 tex 坐标并在您不知道的情况下进行 opengl 映射 但是使用着色
  • 从接口调用一些方法,而不覆盖JAVA中的所有方法

    朋友们 我在 Java 中遇到一个问题 我想实现一种结构 但在实现过程中遇到一些困难 任何人都可以帮助我 interface samp1 method1 method2 method3 interface samp2 method4 met
  • 从接口调用一些方法,而不覆盖JAVA中的所有方法

    朋友们 我在 Java 中遇到一个问题 我想实现一种结构 但在实现过程中遇到一些困难 任何人都可以帮助我 interface samp1 method1 method2 method3 interface samp2 method4 met
  • 从 Summernote 文本区域中提取编辑后的文本

    我的数据库中有一个预设电子邮件列表 感谢您成为会员 感谢您购买产品 它正在路上 之类的 我正在使用 Bootstrap 模式来编辑这些电子邮件 当我单击编辑按钮时 模式会下拉 并填充数据库中的数据 电子邮件名称 主题 正文 我在用将数据传递
  • 从 Summernote 文本区域中提取编辑后的文本

    我的数据库中有一个预设电子邮件列表 感谢您成为会员 感谢您购买产品 它正在路上 之类的 我正在使用 Bootstrap 模式来编辑这些电子邮件 当我单击编辑按钮时 模式会下拉 并填充数据库中的数据 电子邮件名称 主题 正文 我在用将数据传递
  • iPhone 发送代表消息等待 10 秒后未能返回

    当尝试将大型 NSData 对象转换为 base64Encoding 以进行 http 传输时 我不断从 iPhone 3 0 收到以下消息 void SendDelegateMessage NSInvocation delegate fa
  • iPhone 发送代表消息等待 10 秒后未能返回

    当尝试将大型 NSData 对象转换为 base64Encoding 以进行 http 传输时 我不断从 iPhone 3 0 收到以下消息 void SendDelegateMessage NSInvocation delegate fa
  • S3 上的 AWS EC2 IAM 角色访问被拒绝

    我已经启动了一个具有 IAM 角色 webapp 的 EC2 实例 角色已附加 我可以使用来确认它 curl http 169 254 169 254 latest meta data iam security credentials we
  • S3 上的 AWS EC2 IAM 角色访问被拒绝

    我已经启动了一个具有 IAM 角色 webapp 的 EC2 实例 角色已附加 我可以使用来确认它 curl http 169 254 169 254 latest meta data iam security credentials we
  • 我们如何知道 React ref.current 值何时发生变化?

    通常 有了 props 我们可以写 componentDidUpdate oldProps if oldProps foo this props foo console log foo prop changed 为了检测道具的变化 但如果我
  • 我们如何知道 React ref.current 值何时发生变化?

    通常 有了 props 我们可以写 componentDidUpdate oldProps if oldProps foo this props foo console log foo prop changed 为了检测道具的变化 但如果我
  • Rails 3 中缺少部分错误

    我收到错误 Missing partial post questions application questions with locale gt en formats gt html handlers gt erb builder cof
  • Ember数据和脏记录

    放弃对记录所做的更改的建议方法是什么 我有以下逻辑将脏记录恢复到原始状态 if controller get isDirty controller get content rollback 这有效unless提交记录的尝试未成功 如果我尝试
  • 使用 Moment(date) 元素对数组进行排序

    我有一个填充有 moment 数据库提供的日期 元素的数组 我试图对数组进行排序 使第一个元素是最旧的 最后一个元素是最新的 但没有成功 for let item of items dates push moment item create
  • C# 中的 MyClass 等效项

    在看着这个问题 https stackoverflow com questions 6830825 shared class field in visual basic 评论者 Jon Egerton 提到MyClass是一个关键字VB N
  • 无法读取未定义的属性“user_id”

    我想通过 firebase 云功能向设备发送推送通知 我正在编写node js脚本 exports sendNotification functions database ref messages user id rec user id o