Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase StartAt()不';t work-如果没有它,它将返回相同的结果_Firebase_Firebase Realtime Database - Fatal编程技术网

Firebase StartAt()不';t work-如果没有它,它将返回相同的结果

Firebase StartAt()不';t work-如果没有它,它将返回相同的结果,firebase,firebase-realtime-database,Firebase,Firebase Realtime Database,我试图得到前5个结果(1-5),然后(6-10)。。。等等 我保存我收到的最后一个值,以便从我停止的地方开始, 但当我检查新值时,它仍然显示值1-5,而不是6-10 另外,我不明白当我的密钥已经在DB上排序时,我是否真的必须使用orderByChild 我的数据库- users +user1 +user2 +user3 +user4 +user5 +user6 ..... +user50 第一个1-5: task = awai

我试图得到前5个结果(1-5),然后(6-10)。。。等等 我保存我收到的最后一个值,以便从我停止的地方开始, 但当我检查新值时,它仍然显示值1-5,而不是6-10

另外,我不明白当我的密钥已经在DB上排序时,我是否真的必须使用orderByChild

我的数据库-

users
    +user1
    +user2
    +user3
    +user4
    +user5
    +user6
    .....
    +user50
第一个1-5:

  task = await FirebaseDatabase.DefaultInstance.GetReference("users").OrderByValue().LimitToFirst(5).GetValueAsync().ContinueWith(t => t);
那很好。 现在我想让用户6-10个

  lastUserId= "user5"
  task=null;
  task = await FirebaseDatabase.DefaultInstance.GetReference("users").OrderByValue().StartAt(lastUserId).LimitToFirst(5).GetValueAsync().ContinueWith(t => t);
  DataSnapshot dts = task.Result;
  foreach (DataSnapshot s in dts.Children)
  {
  Debug.Log(s.Key);
  }
输出: 用户1 用户2 用户3 用户4 用户5
如果我的代码是StartAt(“user5”),为什么它从user1开始??我遗漏了什么?

根据您的评论,以下是我(非常简短)的答案:

您应该使用
OrderByKey.StartAt('userId')
而不是
OrderByValue


很高兴我能帮忙

您应该使用OrderByKey.StartAt('userId')是。把它写下来作为答案我把它作为答案加上去了。请将其标记为已接受。谢谢。:-)