Правильная структура коллекции для пожарного магазина - PullRequest
2 голосов
/ 22 октября 2019

Таким образом, в приложении есть пользователи (аутентификация Firebase)

У каждого пользователя есть свои настройки, а затем набор json-файлов.

Я думаю, что каждый пользователь должен быть своимкорневая коллекция, затем есть документ с настройками внутри, а также сбор данных. С учетом того, что мне нужно удалить кого-то и его данные, он просто удаляет корень со всем внутри?

Думаю ли я об этом правильно? Я не хочу получать 2 года и нуждаюсь в рефакторинге, потому что это неуправляемо.

1 Ответ

3 голосов
/ 22 октября 2019

Вы можете зайти в тупик, если решите позже управлять своими индексами, потому что они требуют определенных имен коллекций и полей документов, а ваши коллекции будут именоваться в соответствии с UID ваших пользователей.

IПодобные проблемы возникли, когда я использовал динамические поля документа, поэтому мне пришлось заключить их в поле «myDynamicFields» и использовать его в своих индексах.

// firestore.indexes.json
{
  "indexes": [],
  "fieldOverrides": [
    {
      "collectionGroup": "myCollection",
      "fieldPath": "myDynamicFields",
      "indexes": []
    }
  ]
}

Так же, как я обернул свои динамические поля в «Поле «Карта», вы можете обернуть свои настройки в коллекцию userSettings и получить документ для каждого пользователя. То же самое для ваших «данных»: коллекция userData и документ для каждого пользователя. Затем, чтобы удалить пользователя, вам нужно будет удалить два документа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...