如何在firebase中检索数据范围
我有用户的数据,其中uuid是它们的密钥。我想向每个用户发送邮件,但我不想同时向他们发送邮件,所以我想检索用户范围 例如,我现在有1000个用户,我想发送邮件给范围为1-100的用户,然后是101-200、201-300等等。我怎样才能做到这一点?如何在firebase中检索数据范围,firebase,firebase-realtime-database,Firebase,Firebase Realtime Database,我有用户的数据,其中uuid是它们的密钥。我想向每个用户发送邮件,但我不想同时向他们发送邮件,所以我想检索用户范围 例如,我现在有1000个用户,我想发送邮件给范围为1-100的用户,然后是101-200、201-300等等。我怎样才能做到这一点? 我已经看过startAt和endAt函数,但我的问题是我在开始和结束时都不知道用户密钥。因此,我将无法通过这种方式检索范围。要获得前100个用户,您需要对其进行查询: query = ref.orderByKey().limitToFirst(100
我已经看过startAt和endAt函数,但我的问题是我在开始和结束时都不知道用户密钥。因此,我将无法通过这种方式检索范围。要获得前100个用户,您需要对其进行查询:
query = ref.orderByKey().limitToFirst(100)
然后,在处理用户时,跟踪处理的最后一个关键点:
vast lastSeenKey;
query.once("value", function(snapshot) {
snapshot.forEach(function(userSnapshot) {
lastSeenKey = userSnapshot.key;
});
});
然后,要加载接下来的100个用户,可以从您看到的最后一个键开始查询:
query = ref.orderByKey().startAt(lastSeenKey).limitToFirst(101)
您会注意到,我们在此处检索到一个额外的项,因为此查询中的第一个用户将与上一个查询中的最后一个用户相同。要获取前100个用户,您需要对其进行查询:
query = ref.orderByKey().limitToFirst(100)
然后,在处理用户时,跟踪处理的最后一个关键点:
vast lastSeenKey;
query.once("value", function(snapshot) {
snapshot.forEach(function(userSnapshot) {
lastSeenKey = userSnapshot.key;
});
});
然后,要加载接下来的100个用户,可以从您看到的最后一个键开始查询:
query = ref.orderByKey().startAt(lastSeenKey).limitToFirst(101)
您会注意到,我们在这里检索到一个额外的项,因为此查询中的第一个用户将与上一个查询中的最后一个用户相同。谢谢Frank vanPuffelen@FrankvanPuffelen我如何实现这一点的相反?我想先去拿最新的。这是我首先获取的最后输入的数据。然后获得旧的10张唱片,然后再次获得旧的10张唱片,……谢谢弗兰克·范Puffelen@FrankvanPuffelen我如何实现这一点的相反?我想先去拿最新的。这是我首先获取的最后输入的数据。然后获取旧的10条记录,然后再次获取旧的10条记录。。。。