我正在创建一个Android应用程序,我需要存储一些关于用户的数据,比如他们的firebase云消息令牌。我的数据可能是这样的,其中用户的ID是他的电话号码:
{
"users" : {
"+34.....56" : {
"fcm_token" : "...",
...
},
"+34.....45" : {
"fcm_token" : "...",
...
},
...
}
}
问题在于我希望每个用户都能看到他的哪些联系人正在使用该应用。所以我有一个电话号码列表(用户的联系人),我想用这个列表过滤我的数据库的用户。我知道equalTo()
方法只能过滤单个值。
我该怎么办?如果我针对每个电话号码向equalTo()
提出请求,那将非常痛苦且成本高昂。如果我请求获取数据库的所有用户,然后在客户端进行过滤,那么它也会非常昂贵。
在我的应用上过滤电话号码列表是非常重要的事情。 firebase适应了这个,还是我应该使用其他数据库?