在onWrite时尝试更新引用的值?

时间:2017-07-28 18:55:47

标签: javascript firebase google-cloud-functions

当我在/ mystuff中写入时,我试图更新/ myotherstuff的值。但是下面的代码并没有这样做。我应该改变什么?

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);

exports.myFunction = functions.database.ref('/mystuff')
.onWrite(event => { 

   admin.database().ref('/myotherstuff').update(null);
});

2 个答案:

答案 0 :(得分:0)

尝试类似的东西:

exports.myFunction = functions.database.ref('/mystuff').onWrite(event => { 
    return admin.database().ref('/myotherstuff').set(null);
});

set()方法相反,update()可用于有选择地仅更新当前位置的引用属性(而不是替换当前位置的所有子属性)。

在您的情况下,您可以删除子项而不是设置为null:

exports.myFunction = functions.database.ref('/mystuff').onWrite(event => { 
    return admin.database().ref('/myotherstuff').remove();
});

Firebase Cloud Functions documentation.

答案 1 :(得分:0)

exports.myFunction = functions.database.ref('/mystuff')
.onWrite(event => { 

   admin.database().ref('/myotherstuff').update({//values here});
});

示例:

exports.myFunction = functions.database.ref('/mystuff')
.onWrite(event => { 

   admin.database().ref('/myotherstuff').update({"username" : "hello, "coins" : 100});
});