В моей базе данных Firestore у меня есть структура данных, которая выглядит примерно так:
Коллекция -> документ (x) -> поля (данные документа), подколлекция -> документ (y)
Мое приложение iOS загружает документ (x) для чтения его полей и хранения различных документов (y). После создания или удаления документа (y) запускается облачная функция.
Я выбрал этот подход, потому что облачные функции нельзя запускать в определенных полях, только для целых документов.
Конфликт возникает, когда моему приложению для iOS также нужен список вложенных коллекций.
У меня есть две идеи:
- A: Создать триггер для документа (x) и отсортировать информацию, чтобы найти соответствующее обновление поля. На мой взгляд, это кажется беспорядочным, и я испытываю желание выбрать другое решение.
- B: оставить текущий триггер на вложенной коллекции, но выполнить еще одно чтение, чтобы получить вложенную коллекцию в моем приложении. Это удваивает количество операций чтения и плохо масштабируется.
Есть ли другие варианты, которые я пропустил?