【发布时间】:2019-07-22 18:07:41
【问题描述】:
我正在做一个业余项目,想让我的用户检查他们的朋友是否有帐户。
目前我是这样实现的:
- 为电子邮件读取电话联系人
- 循环浏览电子邮件
- 对用户数据库进行
.get()查询1为使用该电子邮件的用户 - 如果返回数据,则表明好友在平台上并显示邀请按钮
- 对用户数据库进行
- 一小时内超出免费配额2
问题是任何.get 都被视为读取操作,即使没有数据返回。他们的doc.exists 只能在.get 之后进行tun,因此需要读取文档以检查是否存在。
我确定我忽略了一些明显的事情,我想要做的本质上是一个类似 .exist() 的查询,它不会“花费”一次阅读。
1:我实际上并没有将电子邮件存储在 Firestore 中,而是存储它们的哈希值,并且正在查询它们。效果相同,但它允许我查询不公开真实电子邮件和其他数据的辅助用户数据库。
2:不要试图让自己变得便宜,但如果这个应用变成商业应用,这将使计费成为一场噩梦。
【问题讨论】:
-
你在哪里保存手机联系人,在内存中?在数据库中?
-
手机联系人来自设备,然后在内存中批量处理。
-
因此您将联系人保存在内存中,并且对于您在现有 Firestore 数据库中搜索的每个联系人(电子邮件地址)进行匹配,对吗?
-
这是当前(低效)的方法是的。
标签: reactjs firebase react-native google-cloud-firestore