提问者:小点点

如何在Firebase的云函数中解决caps annot read属性'database url'为null的问题?


我在Cloud Firestore中有一个标题为'best offers'的表,我正在使用一个函数,当一个文档添加到一个表中时,它会调用这个函数。

事件设置如下:事件类型:创建文档的路径:BestOffers/{id}

当我运行该函数时,我得到一个不能读取属性'database url'的null错误

你能告诉我我做错了什么吗?


共2个答案

匿名用户

请查看传递给onwrite的处理程序函数的签名。它有两个参数:changeeventcontext

您使用以下方式声明您的云功能:

...onWrite(async () => {...});

您应该执行以下操作:

.onWrite(async (change, context) => {
  const beforeData = change.before.val(); // data before the write
  const afterData = change.after.val(); // data after the write
});

然后,使用change对象获取存储在触发云功能的节点上的数据。

匿名用户

正如Renaud所说,您调用了realtime database和op的函数,您说您想为FireStore放置触发器。

相反,如果您正在查找firestore,请尝试以下代码:

exports.myFunction = functions.firestore
  .document('bestOffers/{doc-id}')
  .onWrite((change, context) => { /* ... */ });

有关于firestore触发器的整页文档。