【问题标题】:Retrieve count data from Firebase like MySQL从 Firebase 中检索计数数据,如 MySQL
【发布时间】:2017-09-22 14:34:55
【问题描述】:

当尝试从 MySQL 数据库中提取数据时,我可以执行以下操作:

SELECT * FROM users ORDER BY id WHERE vehicle = car

这应该让我看到所有驾驶汽车的用户,而不是显示驾驶摩托车的用户。

Firebase 有类似的东西吗?我只能从一个用户那里检索特定数据?

我的 firebase 数据库是这样的:用户 -> 用户信息(姓名、年龄、车辆等)

我想查询每个驾驶汽车的用户并将它们显示在一行中。我该怎么做?


我尝试了以下方法,但我没有成功,因为在users 之后,用户 ID 是下一个孩子。有没有办法查询过去?

var recents = firebase.database().child('users').orderByChild('department').equalTo(department);
            recents.on('child_added', function(snapshot) {
            var countOfUserInDepartment = snapshot.count;
            
                document.querySelector("#cphCount").innerHTML = countOfUserInDepartment;
            
            });

【问题讨论】:

    标签: javascript mysql firebase firebase-realtime-database


    【解决方案1】:

    Firebase 数据库中没有计数查询(也没有其他聚合查询)。您的选择是:

    1. 检索与您的查询匹配的所有数据并在客户端计数
    2. 保留一个单独的计数节点,以便在您添加/删除项目时更新。

    对于#2,您可能会发现使用 Cloud Functions 很方便,其中有一个 example of keeping such a counter。

    另见:

    【讨论】:

    • 您对reading a list of data 或querying a list of data 使用标准的Firebase 方法。
    • 我已经编辑了我的问题。我如何查询过去我“不知道是什么”的孩子?
    • 我重新打开了这个问题,但不知道你为什么在标题中提到 count。您可能想要更新它,以便希望有人能够提供更好的帮助..
    猜你喜欢
    • 2022-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多