firebase相当于sql在哪里in()

我需要一个与SQL中的查询等效的firebase查询:

select * from your_table where id in (123, 345, 679) 

你如何在火力点做这个逻辑?

谢谢,

Firebase的查询没有ORIN运算符。 因此,您无法轻松将上述查询映射到Firebase。

一种解决方法是实现一个简单地遍历元素的函数:

 function loadThese(ids, callback) { var rows = []; while (ids.length > 0) { var id = ids.splice(0,1)[0]; refToTable.child(id).once('value', function(snapshot) { rows.push(snapshot.val()); }); } callback(rows); } 

请注意,上面应该是recursion的,所以使用它来获取灵感,而不是复制/粘贴代码。

解决这个问题的另一个(也许更好的办法)是弄清为什么select这三行,为什么不选其他的。 这些行可能有一些共同点。 一旦你知道他们有什么共同点,你可以将其build模成数据结构。

更新(20160408):为了解释为什么上述内容在Firebase上的速度比您预期的要快得多,请参阅此答案 。