Cloud Functions for Firebase 数据库事件函数内的写入操作
Cloud Functions for Firebase write operation inside a DB event function
我目前正在尝试学习 Firebase 函数。
这个新功能似乎很强大也很有用。
我想使用一个函数来捕获数据库写入事件,与数据库中的特定位置进行比较,然后将一些数据(取决于比较结果)写入数据库中的另一个位置。
这是我当前的 Node.js 代码:
exports.verificaFineLavoro = functions.database.ref('/Aziende/{nomeazienda}/LogAsegno/{pushidbracciante}/{pushidlog}/Asegno')
.onWrite(event => {
const original = event.data.val();
console.log('VerificaFineLavoro', event.params.pushId, original);
const aSegno = original;
console.log('aSegno', aSegno +"");
const FineLavoro = ref.parent.parent.parent.parent.child("Asegno/"+aSegno+"/FineLavoro");
return event.data.ref.child('FL').set(FineLavoro);
});
目前该功能已被触发,但由于引用可能有误而停止工作。
Cloud Functions for Firebase documentation on triggering from the database 包含显示如何访问数据库中其他节点的代码片段。
例如,此代码段将一个值设置为触发函数的节点的兄弟节点:
return event.data.ref.parent.child('uppercase').set(uppercase);
这是 sample on counting child nodes 的另一个片段:
exports.countlikechange =
functions.database.ref('/posts/{postid}/likes/{likeid}').onWrite(event => {
const collectionRef = event.data.ref.parent;
const countRef = collectionRef.parent.child('likes_count');
...
要访问数据库的根,请使用 event.data.ref.root
(以触发该函数的用户的权限访问根节点)或 event.data.adminRef.root
(以完全管理权限访问根).
我目前正在尝试学习 Firebase 函数。 这个新功能似乎很强大也很有用。
我想使用一个函数来捕获数据库写入事件,与数据库中的特定位置进行比较,然后将一些数据(取决于比较结果)写入数据库中的另一个位置。
这是我当前的 Node.js 代码:
exports.verificaFineLavoro = functions.database.ref('/Aziende/{nomeazienda}/LogAsegno/{pushidbracciante}/{pushidlog}/Asegno')
.onWrite(event => {
const original = event.data.val();
console.log('VerificaFineLavoro', event.params.pushId, original);
const aSegno = original;
console.log('aSegno', aSegno +"");
const FineLavoro = ref.parent.parent.parent.parent.child("Asegno/"+aSegno+"/FineLavoro");
return event.data.ref.child('FL').set(FineLavoro);
});
目前该功能已被触发,但由于引用可能有误而停止工作。
Cloud Functions for Firebase documentation on triggering from the database 包含显示如何访问数据库中其他节点的代码片段。
例如,此代码段将一个值设置为触发函数的节点的兄弟节点:
return event.data.ref.parent.child('uppercase').set(uppercase);
这是 sample on counting child nodes 的另一个片段:
exports.countlikechange = functions.database.ref('/posts/{postid}/likes/{likeid}').onWrite(event => { const collectionRef = event.data.ref.parent; const countRef = collectionRef.parent.child('likes_count'); ...
要访问数据库的根,请使用 event.data.ref.root
(以触发该函数的用户的权限访问根节点)或 event.data.adminRef.root
(以完全管理权限访问根).