在 Firebase 中独一无二 属性
unique property in Firebase
我有一个包含类别的 IOS 应用程序。我在 Firebase 上的存储如下所示:
-root
-Categories
-key
- color:
- name:
- sum:
-Expenses
-key
-amount:
-category:
-date:
-description:
-initiator:
-name:
用户不得添加一个类别两次。我想让类别名称唯一。可以在 Firebase 中执行吗?
提前致谢。
您必须检查是否已经存在相同的类别。使用特定类别值 (where clause
) 创建搜索,如果已经存在具有该值的类别,则不要添加它。关于如何使用 firebase 搜索特定结果,您可以查看此 link
无法确保 Firebase 数据库中的唯一值。
但另一方面,键在其上下文中始终是唯一的。
您可以利用它来为您的数据建模,以保证您想要的 属性 的唯一性。假设您希望类别名称是唯一的,将类别存储在它们的名称下:
-Categories
-name
- color:
- sum:
使用此结构,您可以保证拥有唯一的类别名称。
如果您必须将类别存储在其当前键下,但仍希望确保名称唯一。您可以创建一个二级索引,它使用类别名称作为键来确保它们的唯一性。
-Categories
-key
- color:
- name:
- sum:
-CategoryNames
-name: key
Kato 对
的回答进一步解释了后一种方法
我有一个包含类别的 IOS 应用程序。我在 Firebase 上的存储如下所示:
-root
-Categories
-key
- color:
- name:
- sum:
-Expenses
-key
-amount:
-category:
-date:
-description:
-initiator:
-name:
用户不得添加一个类别两次。我想让类别名称唯一。可以在 Firebase 中执行吗? 提前致谢。
您必须检查是否已经存在相同的类别。使用特定类别值 (where clause
) 创建搜索,如果已经存在具有该值的类别,则不要添加它。关于如何使用 firebase 搜索特定结果,您可以查看此 link
无法确保 Firebase 数据库中的唯一值。
但另一方面,键在其上下文中始终是唯一的。
您可以利用它来为您的数据建模,以保证您想要的 属性 的唯一性。假设您希望类别名称是唯一的,将类别存储在它们的名称下:
-Categories
-name
- color:
- sum:
使用此结构,您可以保证拥有唯一的类别名称。
如果您必须将类别存储在其当前键下,但仍希望确保名称唯一。您可以创建一个二级索引,它使用类别名称作为键来确保它们的唯一性。
-Categories
-key
- color:
- name:
- sum:
-CategoryNames
-name: key
Kato 对