2017-06-15 103 views
3

我试图将一个简单的函数部署到Firebase,但我遇到了一些困难。每当我尝试在引用上使用.once时,Firebase都会告诉我它不是函数。这里是我的代码Firebase函数错误:.once不是函数

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获取儿童人数的不同方法?

谢谢。

回答

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

+0

是的,这非常有意义。谢谢。 – ESchlotter