【发布时间】:2016-02-16 19:54:05
【问题描述】:
我试图弄清楚如何使用数组模拟按值查询,但是如果每个按值查询都是单独完成的,则数据会丢失其顺序,因此会出现问题。
假设数据库具有以下格式:
- postID
- 用户ID
- 发布日期
在客户端,我有一组用户 ID: [id1, id2, id3]
我想按 datePosted 对 postID 进行排序,按值查询,其中 userID 等于数组中的 id 之一。然后我想查询前 5 个帖子。 因此,这应该得到这些用户最多 5 条最新帖子。
我了解到您无法使用数组按值查询,这意味着必须将每个用户 ID 分成单个查询(例如 firebase equivalent to sql where in () 建议)。但是,如果我这样做,我将不再能够按 datePosted 在来自不同用户的帖子之间正确排序,并且必须下载所有帖子才能排序并获得前 5 个。
本质上,我正在尝试完成: ref.queryOrderedByChild("datePosted").queryEqualToValue(array, "userID").queryLimitedToFirst(5)
以前有人遇到过这种问题吗?如有任何建议,将不胜感激!
【问题讨论】:
标签: firebase