我在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);
});
});
答案 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 ...
});