Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firebase云功能仅在我从控制台向firestore手动添加数据时触发_Javascript_Firebase_Google Cloud Firestore_Google Cloud Functions - Fatal编程技术网

Javascript Firebase云功能仅在我从控制台向firestore手动添加数据时触发

Javascript Firebase云功能仅在我从控制台向firestore手动添加数据时触发,javascript,firebase,google-cloud-firestore,google-cloud-functions,Javascript,Firebase,Google Cloud Firestore,Google Cloud Functions,当我以编程方式向firestore添加内容时,我的函数不会触发,它只在我从控制台手动添加数据时执行 以下是我的功能: exports.updateFirestoreStatistics = functions.firestore.document('applications/2018/all/{app}').onWrite(change => { let ref = db.collection('statistics').doc('2018'); let t = db.runTra

当我以编程方式向firestore添加内容时,我的函数不会触发,它只在我从控制台手动添加数据时执行

以下是我的功能:

exports.updateFirestoreStatistics = functions.firestore.document('applications/2018/all/{app}').onWrite(change => {
  let ref = db.collection('statistics').doc('2018');
  let t = db.runTransaction(transaction => {
    return transaction.get(ref).then(doc => {
      let updatedAppCount = doc.data().applications + 1
      return transaction.update(ref, {applications: updatedAppCount});
    })
  }).then(() => console.log('Stat updated! ')).catch(err => console.log('An error occured ', err));
});

您应该返回异步方法返回的承诺

如果您不这样做,可能会发生运行您的函数的云函数实例在您的函数成功执行事务之前关闭的情况


我建议您观看Firebase团队的以下两个视频:

{app]
文档还是收藏?@RodrigoMata a document您可以显示用于添加“东西”的代码吗以编程方式?在以编程方式添加数据后,它是否显示在控制台中?您好@kumail。您有时间查看建议的解决方案吗?