如何获取商品在实时数据库中的位置

时间:2019-03-23 21:42:47

标签: javascript firebase-realtime-database

我想获取项目在数据库中的位置以及数据。

.ref("users")
.orderByChild("email")
.equalTo(myEmail)
.once("value", snapshot => {
    console.log("Database Position", ???? )
}

快照中是否可以使用一个值指示数据库中的位置(通过电子邮件订购后)?我不想在客户端执行此操作,因为我有超过1000个用户

1 个答案:

答案 0 :(得分:1)

Firebase实时数据库不会跟踪节点在其父节点中的位置,也不会在查询结果中返回此类位置。这意味着确定一个子节点在一组子节点中的位置的唯一方法是,在要查找的子节点之前检索所有子节点。

.ref("users")
.orderByChild("email")
.endAt(myEmail)
.once("value", snapshot => {
    var index = 0;
    snapshot.forEach(function(childNode) {
        if (childNode.child("email").val() === myEmail) {
            console.log("Database Position", index);
        }
        else {
            index = index + 1;
        }
    });
}

由于您评论您正在尝试创建排行榜,请参阅: