Каков рекомендуемый способ отслеживать изменения документа в хранилище? - PullRequest
2 голосов
/ 23 апреля 2019

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

  1. Иметь коллекцию pendingEmployeeWrites, где находится клиент разрешено только создавать документы. Каждый документ здесь будет иметь employeeId поле (этот идентификатор генерируется на стороне клиента для новых сотрудников).
  2. Облачная функция будет вызываться при создании такого документа, а затем проверять данные. Если он действителен, документ employeeId в коллекции employees перезаписывается этими данными. В противном случае документ pendingEmployeeWrites обновляется для установки isFailed как true. Клиентскому приложению разрешено только чтение из коллекции employees.

Сохранение pendingEmployeeWrites в виде плоской коллекции вместо вложенной коллекции позволяет извлекать все изменения, сделанные пользователем, а также все изменения для конкретного документа. Имеет ли этот подход смысл или есть лучший подход, который я должен рассмотреть?

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