我想知道是否有可能从我的Firebase数据库返回一个值列表,其中每个元素满足两个条件。在两个条件之间查询Firebase数据库
例如,如果我的数据库是这样的:
MYAPP
|_______________items
| |_____OshwYF72Jhd9bUw56W7d
| | |
| | |__item_name:"plank_5"
| | |__length:"120"
| | |__width:"50"
| |
| |_____KbHy4293dYgVtT9pdoW
| |_____PS8tgw53SnO892Jhweh
| |_____Gicuwy8r23ndoijdakr
|
|___customers
我想查询有100-150之间的长度和30-之间的宽度每一个项目的item_name
数据库70,有没有办法让我用Firebase查询来做到这一点?
我已阅读答案:Query based on multiple where clauses in firebase但不涉及多个between
/range
子句,这是我在上面的场景中需要的。
我在另一个答案中看到了这个插件:https://github.com/davideast/Querybase但where
子句似乎没有采取一系列值。例如:
const queriedDbRef = querybaseRef
.where({
length: (between 100-150),
width: (between 30-70)
});
这样的查询甚至有可能吗?或者我将不得不让所有项目匹配一个条件,然后应用第二个条件客户端,使用Javascript?
这真的很有趣@ frank-van-puffelen!感谢您的详细解答。我已经接受了你的建议,并且一直试图在最后一天学习geoFire,尽管我从返回geoFire查询的ID时遇到了一些问题,并且想知道是否可以在这里查看它:http: //stackoverflow.com/questions/42275999/firebase-geofire-how-to-return-an-array-of-ids-within-a-range再次感谢! – Emily
我主要使用Geofire作为一个例子,看看如果您在盒子外面思考并愿意付出努力,看似不可能的事情是可能的。对于一个人来说,我永远不会想到将经度和纬度结合在一个字符串中,以便它们仍然可以排序。幸运的是,长度*宽度稍微容易计算。 :-) –