如何使用500个过滤器

时间:2017-09-29 13:46:03

标签: firebase firebase-realtime-database google-cloud-datastore google-cloud-platform

我需要在使用Firebase的移动应用中创建一个典型的查找朋友功能。用户将从其地址簿上传散列联系人电子邮件或电话号码列表,并且服务器将返回已在使用该应用程序的用户名列表。典型用户的地址簿中将有大约500个联系人。

使用传统的SQL或Mongo数据库进行设置非常简单,但在Firebase中这很难,因为我没有看到任何WHERE IN条款与Firebase查询,看起来效率非常低为此使用Firebase数据库。即使我创建了一个哈希为id的特定HashedPhoneNumbers集合,它仍然看起来像一个怪物查询。有没有办法让这个查询在Firebase中高效运行?

即。 SELECT username from Users WHERE phoneHash IN [list of 500 phone hashes]

或者,如果我使用Google Cloud DataStore看起来它支持将一堆AND email_hash = XXX过滤器链接在一起,但我不知道如果过滤器列表是500个过滤器链接在一起会有多高效。

1 个答案:

答案 0 :(得分:0)

  1. 是的。为此,我要重新审核:The Firebase Database For SQL DevelopersNoSQL Data Modeling Techniques

  2. 它不支持这种查询,但有一种方法可以实现同样的目的。在上面的教程中解释。

  3. 是的。为此,我重新尝试使用Cloud Storage For Firebase

  4. 作为结论,我善意地使用Firebase重新命令你。