【问题标题】:Firebase unique field valueFirebase 唯一字段值
【发布时间】:2019-11-05 12:01:23
【问题描述】:

所以我找到了关于如何在 Firebase 中创建唯一字段的答案:Firebase android : make username unique

但我的问题是,如果我有多个唯一字段(在不同的集合中),这是否意味着我必须创建多个 usernames 集合来保存我所有的唯一字段。

这是一个例子。假设我有两个集合usersgroups。在我的用户中,我有一个必须是唯一的 email 字段。在我的groups 中,我有一个必须是唯一的address 字段。那么这是否意味着(根据上面的答案)我需要在我的根目录中拥有这些集合:

  • 用户
  • 独特的用户电子邮件
  • 群组
  • 唯一组地址

这看起来很可怕?这是 nosql vs sql 的一大缺点吗?在sql中,在字段(列)创建中说UNIQUE会很容易

【问题讨论】:

    标签: firebase firebase-realtime-database nosql


    【解决方案1】:

    如果您需要某个值(或值组合)是唯一的,则需要创建一个包含该值(或组合)作为其键的节点。如果您需要保证多个值(或组合)是唯一的,则需要多个这样的节点。

    当您拥有一个确实支持唯一性构造的数据库时,它在幕后几乎是在做同样的事情。唯一的区别是数据库会自动执行,这里您必须自己执行。

    【讨论】:

    • 我的用户是这个[GUID123: {name: 'Frank', email: 'x@g.com'}, GUID456: {name 'John', email: 'x2@g.com'}] 我应该创建这个:[x@g.com: {name: 'Frank'}, x2@g.com: {name 'John'}]
    • 忽略[] 抱歉,应该是{}
    • you need to create a node 这是什么意思?你的意思和you need to create a collection一样吗?
    • 您链接到的问题是关于 Firebase 实时数据库的,其中数据模型基于节点和值。在 Firestore 中,这确实是一个集合。
    猜你喜欢
    • 1970-01-01
    • 2018-04-21
    • 2023-01-10
    • 2014-05-27
    • 2017-09-13
    • 2011-05-16
    • 2020-01-10
    • 1970-01-01
    • 2010-11-13
    相关资源
    最近更新 更多