查询Firebase并获取密钥

时间:2016-08-14 17:05:29

标签: node.js express firebase firebase-realtime-database

我正在尝试查询firebase,如果记录存在,我想要唯一的密钥,但似乎无法得到它。我的过滤器工作正常,但我不知道对象属性名称是什么,似乎无法在firebase上找到任何有用的东西。 .key()始终返回错误。这是我的对象在返回时的样子

GET /js/init.js 200 5.048 ms - 207
GET /img/logo.png 200 2.376 ms - 2793
{ '-KP8qXgQRaeClqzKX1Lo': { email: 'bdole@gmail.com' } }
GET /sent 200 7.923 ms - 8110

这是我的代码

    firebase.database().ref('/customers').orderByChild("email").equalTo(email).on("value", function(snapshot) {
      console.log(snapshot.val());
    },function (errorObject) {
      console.log("The read failed: " + errorObject.code);
    });

我需要那个密钥,因为如果它存在,我需要将其用于下一步。

2 个答案:

答案 0 :(得分:4)

您可以使用child_added跟踪新添加的记录并检索密钥。

firebase.database().ref('customers').on('child_added', function(snapshot) {
    console.log(snapshot.key); //This will print that unique key
});

答案 1 :(得分:1)

    firebase.database().ref('customers').orderByChild("email").equalTo(email).on('child_added', function(snapshot) {
        console.log("Customer Key:"+snapshot.key); 
    });