【发布时间】:2016-08-25 22:57:15
【问题描述】:
我有一个查询在两个日期之间获取数据,在 last_visit 字段上使用 startAt(1 周前)和 endAt(现在)。
然后我循环遍历结果以丢弃没有头像的用户。
问题是大约 20% 的用户有头像,所以为了获得 100 个有头像的用户,我必须查询至少 500 人(我使用 limitToLast(500))。
我可以通过在 SQL 中以某种方式指定类似的内容来提高此查询的效率吗:WHERE profile_picture IS NOT NULL?
如果可能的话,我也可以只使用 limitToLast(100) 如果可以只获取确实有个人资料图片集的用户。
数据库如下:
users: {
{user_uid}: {
profile_picture: null,
last_visit: 123456789
}
{user_uid}: {
profile_picture: 'example.com/pic.png',
last_visit: 123456789
}
}
【问题讨论】:
-
ref.orderByChild('profile_picture').startAt('a').endAt('z~')? -
是的,现在使用它:-) 谢谢
标签: firebase firebase-realtime-database