Firebase函数onCreate不触发

时间:2020-01-16 20:13:34

标签: node.js firebase google-cloud-functions

我在onCreate触发器上遇到问题。它没有被调用。这是我的代码:

exports.myFunction = functions.database.ref('/mycollection/{id}').onCreate((snapshot, context) => {
  const a = snapshot.val();
  return admin.firestore().doc('other/'+a.id).set({
    // data...
  }).then(function () {
    console.log('Successfully created other');
  }).catch(function (error) {
    console.log('Error creating other:', error);
  });
});

1 个答案:

答案 0 :(得分:0)

显然,您正在将Realtime Database的Cloud Function触发器和Firestore的触发器混合在一起。它们是Firebase提供的两种不同的NoSQL数据库服务。

exports.myFunction = functions.database.ref(...).onCreate(...)用于声明Realtime Database的触发器,但是您将其定义为将文档(或节点)添加到'/mycollection/{id}'时被触发,这使我相信您想要实现trigger for Firestore

如果此假设正确,则应执行以下操作:

exports.createUser = functions.firestore
    .document('/mycollection/{id}')
    .onCreate((snap, context) => {

      // perform desired operations ...

    });