假设我有一些数据如下:
{
"name": "post #1",
"votes": 100
},
{
"name": "post #2",
"votes": 10000
},
{
"name": "post #3",
"votes": 750
}
Run Code Online (Sandbox Code Playgroud)
等等.
firebase中的数据显然不是通过投票排序的,而是按键排序.
我希望能够按照降序的投票数对这些数据进行分页.
我想我必须做的事情如下:
ref.orderByChild('votes')
.startAt(someValue)
.limitToFirst(someOtherValue)
.once('value', function(snapshot) {
resolve(snapshot);
});
Run Code Online (Sandbox Code Playgroud)
或许,我需要使用limitToLast,和endAt?
分页key很容易,但是这个让我很难过.
更新(2017-10-16): Firebase最近宣布了Firestore - 他们完全托管的NoSQL数据存储区,可以更轻松地执行更复杂的查询.可能仍有一些用例可能会使用他们一直提供的实时数据库.如果你是其中一个人,这个问题仍应适用.