使用 Firebase 查询多个元素作为快照

Query multiple elements as snapshot with Firebase

我想在单个查询中检索代表查询时状态的多个元素,以便我可以处理它们。

所以我先试了一次()

 ref.orderByChild("id").startAt(100).once("child_added", function(snapshot))

但这只是返回了第一个条目。 如果使用 on() 而不是 once(),我会得到所有结果,但是我如何才能检测到所有初始结果都已发送到调用 off() 以开始处理我的结果?

我也考虑过使用 once("value") 但是我会收到所有元素并且必须在客户端进行过滤,所以这个解决方案不会真正扩展。

那么你会提出什么建议?

您可以使用 value 侦听器获取与查询匹配的所有元素:

var query = ref.orderByChild("id").startAt(100);
query.once("value", function(snapshot) {
  snapshot.forEach(function(childSnapshot) {
    console.log(childSnapshot.key(), childSnapshot.val());
  });
})