使用Firebase查询x和y之间的项目

焓值

因此,我使用的是官方的Hacker News API,该API托管在Firebase上。

我遇到的问题是我想基本上获取列表的子集。

一路走来。让topNewsRef = firebase.childByAppendingPath(“ topstories”)。queryLimitedToFirst(UInt(batchSize + offset))。queryLimitedToLast(UInt(batchSize))

[我知道这行不通,但我想要这种效果]。基本上,我想要一个由范围指定的集合的子集;例如,从项目2到项目15]。

假设我要从第75个商品中抽取50个商品,但以上内容无法正常工作。所以问题是;我如何达到相同的效果?

例如; 在Firebase中给出了100个项目的列表。我要所有50号和75号的物品。没有属性可以放弃项目的顺序。

这是我目前的解决方案;

        let topNewsRef = firebase.childByAppendingPath("topstories").queryLimitedToFirst(UInt(batchSize + offset))
    var handle: UInt?
    handle = topNewsRef.observeEventType(.Value) { (snapshot: FDataSnapshot!) -> Void in
        if let itemIDs = snapshot.value as? [Int] {
            itemIDs.dropFirst(offset) // This drops all items id I already fetched ...
            for itemID in itemIDs {
                let itemRef = self.firebase.childByAppendingPath("item/\(itemID)")
                var itemHandle: UInt?
                itemHandle = itemRef.observeEventType(.Value, withBlock: { (snapshot: FDataSnapshot!) -> Void in
                    if let itemHandle = itemHandle {
                        itemRef.removeObserverWithHandle(itemHandle)
                    }

                    if let json = snapshot.value as? [String:AnyObject],
                        // Handle JSON ...
                    }
                })
            }
        }
        if let handle = handle {
            topNewsRef.removeObserverWithHandle(handle)
        }
    } // offset += batchSize

...这是从开始(偏移)到结束(batchSize + offset)的所有项目,然后我将列表的第一个末端减去offset的大小。因此,列表上剩下了batchSize的大小。

焓值

好的,因此通过以下查询解决了问题。

firebase.childByAppendingPath("topstories").queryOrderedByKey().queryStartingAtValue(String(offset)).queryEndingAtValue(String(offset + batchSize - 1))

问题是Firebase文档未指定“ AnyObject!”。参数可以用作查询的索引。他们也忘记提到索引​​应该是String类型。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

(X!= Y)和(!(X == Y))之间的区别?

来自分类Dev

使用xa numpy-ndarray的y = x和y = x [:]之间有什么区别?

来自分类Dev

如果数字在X和Y之间

来自分类Dev

删除X和Y之间的数组元素

来自分类Dev

x |之间的差异 y和y <(x)以bash表示吗?

来自分类Dev

[X|Y] 和 [X,Y] 之间的序言差异

来自分类Dev

关于速度,嵌套“ if”与使用“ if x和y以及z和..”之间是否有区别?

来自分类Dev

使用Google表格中的公式创建x和y之间的随机数列表

来自分类Dev

使用地图在子图之间共享 x 和 y 轴

来自分类Dev

jQuery-如果包含x和y之间的数字

来自分类Dev

x import y和import xy之间的区别

来自分类Dev

生成x和y之间所有日期的列表

来自分类Dev

如何在Redshift中选择x和y之间的行

来自分类Dev

计算原点与x,y,z坐标之间的θ和ø角度

来自分类Dev

使用iif函数进行查询,并在for之间提供X

来自分类Dev

Node 和使用 Node 模块的项目之间有什么联系?

来自分类Dev

主键(x,y)和主键(x),唯一(y)之间的SQL区别

来自分类Dev

使用数组在TableVIewControllers之间传递数据。使用Swift和Firebase

来自分类Dev

使用Swift向iOS钥匙串添加项目和查询

来自分类Dev

开始日期和结束日期之间的每个项目的MS SQL Server查询总和

来自分类Dev

SQL查询以在表和指定条件之间的列列表中查找公共项目?

来自分类Dev

Firebase查询和完成

来自分类Dev

对不同的Firebase项目使用apex域和子域

来自分类Dev

是否可以在单个项目中同时使用 Firebase 和 PHP?

来自分类Dev

在Parse,Firebase和AWS Cognito之间使用哪种更好?

来自分类Dev

可以在 firebase 中的 ios 和 android 项目之间共享用户以进行身份验证

来自分类Dev

&++ x和&x ++之间的区别

来自分类Dev

Codeigniter查询的类别和项目

来自分类Dev

使用caseInSensitive在Firebase中保存和/或查询用户显示名称?

Related 相关文章

  1. 1

    (X!= Y)和(!(X == Y))之间的区别?

  2. 2

    使用xa numpy-ndarray的y = x和y = x [:]之间有什么区别?

  3. 3

    如果数字在X和Y之间

  4. 4

    删除X和Y之间的数组元素

  5. 5

    x |之间的差异 y和y <(x)以bash表示吗?

  6. 6

    [X|Y] 和 [X,Y] 之间的序言差异

  7. 7

    关于速度,嵌套“ if”与使用“ if x和y以及z和..”之间是否有区别?

  8. 8

    使用Google表格中的公式创建x和y之间的随机数列表

  9. 9

    使用地图在子图之间共享 x 和 y 轴

  10. 10

    jQuery-如果包含x和y之间的数字

  11. 11

    x import y和import xy之间的区别

  12. 12

    生成x和y之间所有日期的列表

  13. 13

    如何在Redshift中选择x和y之间的行

  14. 14

    计算原点与x,y,z坐标之间的θ和ø角度

  15. 15

    使用iif函数进行查询,并在for之间提供X

  16. 16

    Node 和使用 Node 模块的项目之间有什么联系?

  17. 17

    主键(x,y)和主键(x),唯一(y)之间的SQL区别

  18. 18

    使用数组在TableVIewControllers之间传递数据。使用Swift和Firebase

  19. 19

    使用Swift向iOS钥匙串添加项目和查询

  20. 20

    开始日期和结束日期之间的每个项目的MS SQL Server查询总和

  21. 21

    SQL查询以在表和指定条件之间的列列表中查找公共项目?

  22. 22

    Firebase查询和完成

  23. 23

    对不同的Firebase项目使用apex域和子域

  24. 24

    是否可以在单个项目中同时使用 Firebase 和 PHP?

  25. 25

    在Parse,Firebase和AWS Cognito之间使用哪种更好?

  26. 26

    可以在 firebase 中的 ios 和 android 项目之间共享用户以进行身份验证

  27. 27

    &++ x和&x ++之间的区别

  28. 28

    Codeigniter查询的类别和项目

  29. 29

    使用caseInSensitive在Firebase中保存和/或查询用户显示名称?

热门标签

归档