如何在没有user_id密钥的情况下自行获取对象数据?

时间:2017-12-01 11:12:57

标签: javascript firebase

我试图查询partnerEmail,我的数据库结构如下:

users: {
  user_id: {
    partnerEmail: email@email.com
    ...
  }
}

我正在做这样的查询:

firebase
  .database()
  .ref('/users')
  .orderByChild('partnerEmail')
  .equalTo(email)
  .once('value', snapshot => console.log(snapshot.val()));

我在控制台日志中的结果是:

(2) [undefined × 1, Object]
user_id: Object {
  partnerEmail: email@email.com
  ...other data
}

如何在没有user_id键的情况下自行获取对象数据?我只是希望能够将const设置为数据内部的所有内容,而不是密钥对。感谢。

2 个答案:

答案 0 :(得分:0)

试试这个,可能会起作用

firebase
  .database()
  .ref('/users')
  .orderByKey()
  .orderByChild('partnerEmail')
  .equalTo(email)
  .once('value', snapshot => console.log(snapshot.val()));

答案 1 :(得分:0)

即使存在单个搜索结果,您的查询结果也会列在列表中,然后您需要遍历列表以获取数据

.once('value', snapshot => {
    snapshot.forEach(data => {
        console.log(data.val());
    }
});