我有一个包含类别的IOS应用程序。我在Firebase上的存储空间如下所示:
-root
-Categories
-key
- color:
- name:
- sum:
-Expenses
-key
-amount:
-category:
-date:
-description:
-initiator:
-name:
用户不得两次添加类别。我想让类别名称独一无二。可以在Firebase中进行吗? 提前谢谢。
答案 0 :(得分:0)
您必须检查是否已存在相同的类别。如果已存在值不添加的类别,请使用特定类别值(where clause
)创建搜索。有关如何使用firebase搜索特定结果,您可以查看此链接https://stackoverflow.com/a/14965065/2246798
答案 1 :(得分:0)
无法确保Firebase数据库中的唯一值。
但另一方面,键在其上下文中始终是唯一的。
您可以利用此功能对数据进行建模,使其保证所需属性的唯一性。假设您希望类别名称是唯一的,请将类别存储在其名称下:
-Categories
-name
- color:
- sum:
使用此结构,您可以保证拥有唯一的类别名称。
如果必须将类别存储在其当前键下,但仍希望确保唯一名称。您可以创建二级索引,该索引使用类别名称作为键来确保其唯一性。
-Categories
-key
- color:
- name:
- sum:
-CategoryNames
-name: key
后一种方法在Kato对Enforcing unique usernames with Firebase simplelogin
的回答中进一步解释