В NoSQL Firestore нет таблицы.
Правильно, база данных в формате JSON.
Что будет лучшим способом пометкипросто хранить несколько тегов в массиве?
В зависимости от варианта использования вашего приложения, вы можете выбрать один из двух подходов.Если ваши теги имеют тип String, вы можете хранить эти буквенные строки в массиве.Это будет первый подход, и схема базы данных может выглядеть следующим образом:
Firestore-root
|
--- questions (collections)
|
--- questionId (document)
|
--- questionId: "02cubnmO1wqyz6yKg571"
|
--- title: "Question Title"
|
--- tags ["History", "Geography"]
Как вы можете видеть, я взял в качестве примера набор вопросов, в которых каждый документ имеет массив тегов.
Если вам нужны дополнительные сведения о теге, второй подход заключается в создании объекта для каждого тега и сохранении объектов этого тега в коллекции.В документе с вопросом вам нужно будет хранить идентификаторы тегов только в массиве, как показано в следующей схеме:
Firestore-root
|
--- questions (collections)
| |
| --- questionId (document)
| |
| --- questionId: "02cubnmO1wqyz6yKg571"
| |
| --- title: "Question Title"
| |
| --- tags ["tagId", "tagId"]
|
--- tags (collections)
|
--- tagId (document)
| |
| --- tagId: "yR8iLzdBdylFkSzg1k4K"
| |
| --- tagName: "History"
| |
| --- //Other tag properties
|
--- tagId (document)
|
--- tagId: "tUjKPoq2dylFkSzg9cFg"
|
--- tagName: "Geography"
|
--- //Other tag properties