javascript - 无法访问 firebase orderByChild 查询结果中的值
问题描述
使用 Firebase JS 库。尝试访问 firebase 查询结果中的值但没有成功:
var ref = firebase.database().ref(`/listUser/${userId}/`);
ref.orderByChild('email').equalTo('myemail@myemail.com')
.once("value",
res => {
console.log(res.val());
console.log(res.key);
})
第一个 console.log 返回:
{R74E2nc: {email: "myemail@myemail.com", userKey: "R74E2nc"}}
第二个 console.log 返回我在引用中传递的 userId:
BKjAJm
我想得到的值是 R74E2nc,因为这是我不知道并且需要进一步操作的值。我尝试了 res.val().key 和 res.val().userKey 但它们未定义。
数据库结构为:
"listUser": {
"BKjAJm": {
"R74E2nc": {email: "myemail@myemail.com", userKey: "R74E2nc"}
},
{
"x1x22": {email: "my2@my2.com", userKey: "x1x22"}
}
}
如何访问此值“R74E2nc”?
谢谢你。
解决方案
您可以通过将“value”替换为“child_added”来尝试此代码
var userz = firebase.database().ref()
.orderByChild("email")
.equalTo('myemail@myemail.com')
.once("child_added", function(snapshot) {
...
});
推荐阅读
- css - !important 宽度无故改变
- performance - 阅读摘要报告中的吞吐量
- r - 统计信息中 SSasym() 函数的结构
- matlab - 在 Matlab/Simulink 模型中缓存或记住最近生成的 UITree
- regex - Loadrunner 错误 -35055:正则表达式无效
- .net - 如何根据列表的附件过滤表
- c# - 使用 Microsoft.Extensions.Logging.Abstractions 记录到多个日志文件
- html - 浏览器调整大小时输入元素缩小太多的问题
- android - 当列表很大时,应用程序侧菜单导航会变慢吗?
- virtualization - WSL2 的技术堆栈中讨论的“轻量级虚拟机”是什么意思?