javascript - 如何从 Firebase 数据快照中获取 key ?

标签 javascript firebase firebase-realtime-database

我可以使用电子邮件地址查询我的 users 数组并返回用户的帐户信息:

users.orderByChild('email').equalTo(authData.user.email).once('value').then(function(snapshot) {
        console.log(snapshot.val());
        console.log(snapshot.key); // 'users'
        console.log(snapshot.child('email').key); 'email'
        ...

enter image description here

如何获取 key (-KiBBDaj4fBDRmSS3j0r)。 snapshot.key 返回userssnapshot.child('email').key 返回 email。该 key 似乎不是子项,即它似乎位于 usersemail 之间。

最佳答案

你可以这样做:

var key = Object.keys(snapshot.val())[0];

引用号:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

The Object.keys() method returns an array of a given object's own enumerable properties, in the same order as that provided by a for...in loop (the difference being that a for-in loop enumerates properties in the prototype chain as well).

关于javascript - 如何从 Firebase 数据快照中获取 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43615466/

相关文章:

javascript - 如何在没有全局变量的情况下在浏览器中的命名空间下和 Node.js 中定义模块?

firebase - 试用期机制 - Flutter/Firebase

javascript - 在使用 createUserWithEmailAndPassword 时添加 displayName

android - 如何在 Firebase 实时数据库 Android 中实现等价于 .contains(SomeText) ?

java - Android - 使用键查询节点 (Firebase)

javascript - 如何将特定字符串的一部分从字符串替换为字符串?

javascript - 将数组的 setState 设置为另一个数组的值

firebase - 使用arrayContainsAny的Flutter Firestore查询:列表不起作用

java - 单击单选按钮后如何更新 Firebase 中的数据?

javascript - 在 node.js 回调函数中循环