首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带防火墙的过滤分页列表

带防火墙的过滤分页列表
EN

Stack Overflow用户
提问于 2016-12-09 17:37:22
回答 1查看 309关注 0票数 1

我正在尝试制作一个带有防火墙和快捷(但您最喜欢的编程语言可以自由回答)的分页过滤列表,而无需过滤客户端上检索到的数据。

假设我有这个结构

代码语言:javascript
复制
matches
  match-1
    name: "Match 1"
    users
        user-1: "ok"
        user-2: true
  match-2
    name: "Match 2"
    users
        user-1: "ok"
        user-2: true
        user-3: true
  match-3
    name: "Match 3"
    users
        user-1: true
        user-2: true
        user-3: true
...

现在,我想要一个分页的列表,其中列出了具有"ok“值的user-1的所有匹配项。

我在做这样的事

代码语言:javascript
复制
matchesRef
        .queryOrdered(byChild: "users/user-1")
        .queryEqual(toValue: "ok")
        .queryStarting(atValue: "<last-fetched-user-id>")
        .queryLimited(toFirst: 5)
        .observe(.value, with: { snapshot in

});

但它会导致崩溃,因为“无法调用queryStartingAtValue:在queryStartingAtValue或queryEqualToValue之前被调用之后”

有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-09 20:34:31

如果我没有记错,您可以将要返回的第一个项的键作为第二个参数传递给queryStarting。来自文档 (重点雷):

queryStartingAtValue:childKey:用于生成对该位置数据的有限视图的引用。由FIRDatabaseQuery返回的queryStartingAtValue:childKey实例将响应节点上的事件,其值大于startValue,或等于startValue,密钥大于或等于childKey

因此,在代码中,应该是:

代码语言:javascript
复制
matchesRef
    .queryOrdered(byChild: "users/user-1")
    .queryStarting(atValue: "ok", childKey: "<last-fetched-user-id>")
    .queryLimited(toFirst: 5)
    .observe(.value, with: { snapshot in
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41065931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档