Firestore的Firebase Cloud函数不起作用



我刚从FirebaseDatabase切换到FireStore,所以我必须重写一些云函数以匹配FireStore语法,但问题是它不能像FirebaseDatabase那样工作。

这是我的代码:

exports.addMessageTest = functions.firestore.document('/messages/{id}').onCreate(async (req, res) => {
const original = req.query.text;
const writeResult = await admin.firestore().collection('messages').add({original: original});
res.json({result: `Message with ID: ${writeResult.id} added.`});
});

基本上,每当在声明的路径中创建新文档时,我都想触发一个事件,但我注意到,即使我尝试过,这个函数也从未触发过:

  1. 直接在数据库中创建新文档
  2. 使用swift创建新文档(创建成功,但未触发函数(try? db.collection("messages").document().setData(data)

那么这里的问题是什么?

您正在将Firestore的onCreate()后台云函数编码为HTTPS云函数。

reqres不表示onCreate()后台Cloud Function中的Express.js请求和响应对象。

看看文档:回调函数的第一个参数是DocumentSnapshot,代表触发CF的Firestore文档,第二个参数是CF的上下文。

此外,请注意,与HTTPS CF相比,后台CF应以不同的方式终止。请参阅文档了解更多详细信息,因为正确管理CF的生命周期非常重要。

相关内容

  • 没有找到相关文章