【问题标题】:Query Firebase and get Key查询 Firebase 并获取 Key
【发布时间】:2016-08-15 02:35:51
【问题描述】:

我正在尝试查询 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);
    });

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 我已经在创建密钥后检索它。我需要检查记录是否存在,如果存在,然后拉回密钥。如果它不存在,那么我创建新记录。电子邮件是我用来过滤我的客户对象的。
    • 谢谢你!你走对了方向。我能够得到它。
    • @user3183411 如果这个答案对您有帮助,请点赞。如果它解决了您的问题(它似乎已经解决了 - 您仍然需要自己的查询这一事实似乎与问题无关:您需要致电 snapshot.key),请单击左侧的复选标记以接受它。跨度>
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-13
      • 2019-04-30
      • 2016-06-03
      • 1970-01-01
      • 1970-01-01
      • 2018-03-30
      • 1970-01-01
      • 2016-12-08
      相关资源
      最近更新 更多