我在Firebase中的节点为:
users---
|
uid---
|
phone:
name:
我正在这里寻找IN
的实现。我想检查数据库中是否存在电话号码列表中的哪些小肠,然后获取这些小肠。
在SQL数据库中,等效查询可能是:
select phone from users where phone IN ('phone1','phone2','phone3',...)
如何在Android Firebase项目中实现这一目标?
答案 0 :(得分:3)
无法复制以下SQL查询:
select phone from users where phone IN ('phone1','phone2','phone3',...)
进入Firebase实时数据库查询。相反,您可以分别在数据库中查询每个电话号码并在客户端收集结果。
如果您考虑在某个时候尝试使用Cloud Firestore,则可以在每个get()对象上调用Query方法,您会发现它将返回一个Task反对在准备好文档后将其解决。之后,只需将所有任务收集到任务列表中,然后将该列表传递给Tasks的whenAllComplete()方法即可在整个任务集完成时做出响应。然后,您可以检查那里所有任务的结果,并采取相应的措施。
答案 1 :(得分:1)
正如亚历克斯所说,您无法查询电话列表,而只能使用equalsTo()
请参阅查询数据
https://firebase.google.com/docs/database/admin/retrieve-data
答案 2 :(得分:1)
在Firestore上,您可以执行where子句,无需指定单个条目:
var citiesRef = db.collection("cities");
var query = citiesRef.where("phone", "==", "phone1")
请参阅: