有人可以帮助我!!!我是使用Firestore Google功能的新手。我遵循了文档,接下来是我的代码:我的问题是没有触发第一个功能,可能是缺少我的东西,但是我不知道,请帮忙!!!
import functions = require('firebase-functions');
import admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
//This part should execute when I realize a update over firebase, but never is activated
exports.updateExistences = functions.database.ref('vouchers/{id}/cajas').onUpdate(async (change:any) => {
// console.log(context.params);
console.log('Before: ' + JSON.stringify(change.before.child));
console.log('After: ' + JSON.stringify(change.after.child));
});
//This trigger is activated and it is look like the trigger before but with firestore.document. So then I need to do triggered the trigger before, because according the documentation that way of trigger can be used with a path that return the data from the child node.
exports.updateExistences1 = functions.firestore.document('vouchers/{id}')
.onUpdate((snapshot:any, context:any) => {
// console.log(context.params);
console.log('Before: ' + JSON.stringify(snapshot.before.data()));
console.log('After: ' + JSON.stringify(snapshot.after.data()));
});
答案 0 :(得分:0)
您正在谈论Cloud Firestore,但是您的第一个Cloud Function被声明为在实时数据库的更改上触发。这两个数据库都是Firebase的一部分,但是它们是完全分开的,为一个数据库声明的函数不会触发向另一个数据库的写入。
如果您也希望第一个函数在更新Firestore时触发,则必须使用类似于第二个函数functions.firestore.document('...path to document(s)...').onUpdate(
的语法进行声明。