如何检索firebase中的数据范围

Fai*_*med 1 firebase firebase-realtime-database

我有用户的数据,其中有uuid作为他们的密钥.我想向每个用户发送邮件,但我不想一起发送邮件,所以我想要检索用户范围.

例如,我有1000个用户现在我想发送邮件到范围1-100用户然后101-200,201-300等.我怎样才能做到这一点?我见过startAt()并且有endAt()功能,但我的问题是我在开头和结尾都不知道用户密钥.所以我无法从那种方式检索范围.

Fra*_*len 9

要获得前100个用户,您需要对以下内容进行查询:

query = ref.orderByKey().limitToFirst(100)
Run Code Online (Sandbox Code Playgroud)

然后在处理用户时,跟踪您处理的最后一个键:

vast lastSeenKey;
query.once("value", function(snapshot) {
  snapshot.forEach(function(userSnapshot) {
    lastSeenKey = userSnapshot.key;
  });
});
Run Code Online (Sandbox Code Playgroud)

然后加载接下来的100个用户,从查看的最后一个键开始查询:

query = ref.orderByKey().startAt(lastSeenKey).limitToFirst(101)
Run Code Online (Sandbox Code Playgroud)

您会注意到我们在这里检索了一个额外的项目,因为此查询中的第一个用户将与上一个查询中的最后一个用户相同.