【发布时间】:2020-07-18 08:21:24
【问题描述】:
我需要对 Firebase 查询成本进行一些说明,并且我有如下 JSON 格式的用户节点(格式不正确)
"User": {
"user1": {
"filter1": "...",
"filter2": "...",
"filter3": "...",
"filter4": "..."
},
"user2": {
"filter1": "...",
"filter2": "...",
"filter3": "...",
"filter4": "..."
},
"userN": {
"filter1": "...",
"filter2": "...",
"filter3": "...",
"filter4": "..."
}
}
现在,查询是
方法 1
Userref.orderByChild("filter1").equalsTo("string").addListenerForSingleValueEvent;
此查询仅返回 filter1 值为“字符串”的数据(如果我没记错的话)。 例如,在 100 个用户中,如果 firebase 查询仅匹配 5 个,则查询仅返回 5 个用户。
但是我需要更多的过滤器,但是根据官方文档,多个过滤器是不可能的。
为此, 方法 2 我用过
Userref.addListenerForSingleValueEvent();
这将返回所有 100 个用户数据。 以及在客户端设置的所有过滤器。
现在的问题是 在第一种方法中,查询仅返回 5 个用户,并且, 在第二种方法中查询返回 100 个用户,
那么它的基于查询的成本计算可以改变吗?如果没有。的用户达到 100 000,那么两种方法的数据返回时间(加载时间)会相同还是不同?
【问题讨论】:
标签: java android firebase firebase-realtime-database