使用电子邮件ID设置Firebase Firestore文档是否有误?

时间:2018-02-06 16:22:13

标签: ios swift firebase google-cloud-firestore

我有一个用户可以订阅他们的电子邮件的集合。为了防止多个相同的电子邮件,并且不查询,我想知道是否可以将文档的ID设置为电子邮件字符串(其中包含{{1}等字符}和@

我知道我可以通过以下方式来实现:

.

但在幕后,让Firestore.firestore().collection("waitlist").document(email)包含上述字符有什么问题吗?

2 个答案:

答案 0 :(得分:3)

从技术上讲,它可能不是“错误的”,但我会因以下原因而避免它:

  1. 电子邮件地址通常不区分大小写。文档ID始终是准确的。
  2. 人们的电子邮件地址可能会随着时间的推移而改变。文档ID永远不会改变。要处理电子邮件地址更改,您必须使用旧文档的内容创建一个新文档,然后删除旧文档。
  3. 如果您只是想根据电子邮件地址查找文档,只需查询包含该地址的字段的文档即可。您可能希望将地址存储为完全小写的字符串,以避免区分大小写问题。

答案 1 :(得分:2)

你应该可以这样做。有关文档ID的限制,请参阅this page。没有约束" @"或"。"