【发布时间】:2020-05-28 04:17:02
【问题描述】:
我正在尝试获得前 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')
-
是的。把它写成答案
-
我将其添加为答案。请将其标记为已接受。谢谢。 :-)
标签: firebase firebase-realtime-database