我试着得到前5个结果(1-5),然后(6-10)...诸若此类。我保存我收到的最后一个值,以便在我停止的地方StartAt,但当我检查新的值时,它仍然显示值1-5而不是6-10。
另外,我不明白我是否真的必须使用orderByChild,而我的键已经在DB上排序了。
我的数据库-
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);
}
输出: user1 user2 user3 user4 user5如果我的代码是StartAt(“user5”),为什么它从user1开始??我遗漏了什么?
发布于 2020-05-29 14:06:58
根据你的评论,这是我(非常简短)的回答:
您应该使用OrderByKey.StartAt('userId')
而不是OrderByValue
。
很高兴能帮上忙。
https://stackoverflow.com/questions/62056981
复制相似问题