带有queryOrderedByKey()的Firebase查询.queryLimitedToLast(10)不返回最后10个项目之一

时间:2016-05-26 14:25:46

标签: ios swift firebase firebase-realtime-database

我正在尝试加载已添加到firebase中all_products表的最后10个产品。

我使用firebase SDK的3.2.0版运行以下查询:

cmd = ExecuteNonQuery()

但是,返回的项目不是此表中的最后10项。我在这个表中有大约1017个产品,在这个查询中返回的第一个项目是项目973,而它应该是项目1008。

我的firebase看起来像这样(我用childByAutoId来添加产品):

 let fbRef = FIRDatabase.database().reference().child("products_all").queryOrderedByKey().queryLimitedToLast(10).observeSingleEventOfType(.Value, withBlock: { snapshot in

        for item in snapshot.children {

            let keyString = (item as! FIRDataSnapshot).key

编辑:此外,10批次中的最后一个元素是992号 - 因此10个项目既不是最后10个,也不是所有“邻居”。

包含的第一个键:  -KFtOmT_Hq-48chbHh7I  -KFtOmT_Hq-48chbHh7J  -KFtOmT_Hq-48chbHh7K

跳过的后续密钥:  -KFtOmT0Qj3mrCTlxOfj  -KFtOmT1jouJgm8x_Mi7  -KFtOmT4GUpXtd9Y90sq  -KFtOmT4GUpXtd9Y90sr  -KFtOmT57vidxDl_jpj_  -KFtOmT57vidxDl_jpja  -KFtOmT9yuy-1G8WBrsE

然后包括一些密钥而其他密钥被排除在外,“覆盖范围”是不完整的。

0 个答案:

没有答案