Значение уникального поля Firebase - PullRequest
0 голосов
/ 23 июня 2019

Итак, я нашел ответ о том, как создать уникальное поле в Firebase: Firebase android: сделать имя пользователя уникальным

Но мой вопрос, если у меня есть несколько уникальных полей (в разныхколлекций) означает ли это, что мне нужно создать несколько usernames коллекций, которые будут содержать все мои уникальные поля.

Вот пример.Скажем, у меня есть две коллекции users и groups.У моих пользователей у меня есть поле email, которое должно быть уникальным.В моем groups поле address должно быть уникальным.Значит ли это, что (согласно приведенному выше ответу) мне нужно иметь эти коллекции в моем корне:

  • пользователей
  • uniqueUserEmails
  • groups
  • uniqueGroupAddresses

Это кажется ужасным?Это большой недостаток по сравнению с Nosql против SQL?В SQL было бы так просто сказать UNIQUE в поле (столбец) создание

1 Ответ

0 голосов
/ 23 июня 2019

Если вам нужно, чтобы какое-то значение (или комбинация значений) было уникальным, вам нужно создать узел, содержащий это значение (или комбинацию) в качестве ключа. Если вам нужно гарантировать, что несколько значений (или комбинаций) являются уникальными, вам потребуется несколько таких узлов.

Когда у вас есть база данных, которая поддерживает конструкции уникальности, она в значительной степени делает то же самое за кулисами. Единственное отличие состоит в том, что база данных затем делает это автоматически, где здесь вы должны сделать это самостоятельно.

...