使用Firebase JS库。尝试访问Firebase查询结果中的值没有成功:

  var ref = firebase.database().ref(`/listUser/${userId}/`);

  ref.orderByChild('email').equalTo('[email protected]')
  .once("value",
  res => {
  console.log(res.val());
  console.log(res.key);
  })


第一个console.log返回:

{R74E2nc: {email: "[email protected]", userKey: "R74E2nc"}}


第二个console.log返回我在引用中传递的userId:

BKjAJm


我想获得的值是R74E2nc,因为这是我不知道的并且需要进一步操作。我尝试使用res.val()。key和res.val()。userKey,但它们是未定义的。

数据库结构为:

"listUser": {
     "BKjAJm": {
        "R74E2nc": {email: "[email protected]", userKey: "R74E2nc"}
                },
                {
        "x1x22": {email: "[email protected]", userKey: "x1x22"}

                }
             }


如何访问该值“ R74E2nc”?

谢谢。

最佳答案

您可以尝试通过将“ value”替换为“ child_added”来尝试这段代码

 var userz = firebase.database().ref()
    .orderByChild("email")
    .equalTo('[email protected]')
    .once("child_added", function(snapshot) {
        ...
    });

10-08 12:25