我正在尝试将一个简单的功能部署到Firebase,但我遇到了一些困难。每次我尝试在参考上使用.once时,Firebase会告诉我它不是一个函数。这是我的代码
exports.testFunction = functions.database.ref('/Rooms/{firstID}/{pushId}/On').onWrite(event => {
const value = event.data.val();
var ref = functions.database.ref(roomNum);
return ref.once('value').then(snapshot => {
console.log(snapshot.numChildren);
return true;
}); });
我也尝试了以下内容:
firebaseRef.once('value', function(dataSnapshot) {
console.log(snapshot.numChildren);
});
似乎没什么用。有没有人知道修复或以不同的方式从ref / snapshot中获取子项数?
谢谢。
答案 0 :(得分:5)
functions.database.ref
与您在客户端上使用的对象不同。它的唯一目的是使用它唯一的功能onWrite
来监听写入。
您可以通过event
参数获取您想要的参考资料。
var ref = event.data.ref
这是对您在onWrite
中指定的路径的引用。
如果您想要根参考:
var rootRef = event.data.ref.root
进一步阅读:https://firebase.google.com/docs/reference/functions/functions.database