我可以获得firebase"查询"的第n项吗?

Mai*_*eya 4 firebase

火力地堡有一些非常基本的查询功能有orderBy*,limitTo*,startAt(),等有没有办法告诉你火力地堡想请求的10结果呢?例如,我正在使用orderByKey().由于键是这些令人敬畏的魔法字符串,因此您不能使用整数来引用其中的任何位置.我想存储一个指向键中位置的指针并在其中移动.我想orderByKey(),并随意获得关键N.这可能吗?

Fra*_*len 9

虽然您无法通过Firebase索引访问子项,但您可以存储项的键并使用它来开始下一个查询.

var ref = new Firebase('https://yours.firebaseio.com/items');
var lastKnownKey = null;
var firstQuery = ref.orderByKey().limitToFirst(100);
firstQuery.once('value', function(snapshot) {
  snapshot.forEach(function(childSnapshot) {
    lastKnownKey = childSnapshot.key();
  });
});
Run Code Online (Sandbox Code Playgroud)

现在你有一个变量lastKnownKey,它有你见过的最后一个键.要获取下一批子项,请将该值传递给startAt():

var nextQuery = ref.orderByKey().startAt(lastKnownKey).limitToFirst(100);
Run Code Online (Sandbox Code Playgroud)