У меня есть две коллекции, одна из которых будет обновляться примерно раз в месяц. Я хочу обновить другую коллекцию, созданную пользователем, и этот список содержит НЕКОТОРЫЕ документы, которые содержит первая коллекция.
Q1 C и Q1P (категория и процент вознаграждений по кредитным картам) будут меняться каждый квартал. Когда начнется следующий квартал, я отправлю новые значения, но коллекция списков пользователей не будет знать, какие поля читать, так как я не обновлял это поле (поскольку оно создано пользователем). Единственный способ обновить информацию о новом списке пользователей, по-видимому, заключается в том, что вам нужно удалить документ, а затем снова записать его из коллекции Cards, что не кажется лучшим подходом. Будут ли транзакции работать в этой ситуации?
Тот, который обновляется каждый месяц, называется Карты:
The other collection is userlist. This collection only has some of the documents that Cards have. введите описание изображения здесь Итак, мой главный вопрос заключается в том, как мне обновлять поля документа в коллекции userlist, когда обновляется коллекция Cards? например, обновлен документ Capital One Venture в коллекции карт, где «Q1P» теперь становится 3 вместо 5, и я также хочу синхронизировать c новую информацию в списке пользователей, чтобы «Q1P» также стал 3
Я заметил, что, поскольку количество карточек в коллекции Cards отличается от коллекции userlist, мы должны динамически обновлять поля документа (я думаю). На данный момент я просто обновляю все данные вручную (жестко запрограммированные):
db.collection("userlist").document("Capital One Venture").updateData(["Q1P": 3]) { (error) in
if let error = error {
print(error.localizedDescription)
}
print("sucessfully updated data")
}
Это на Swift, но я могу использовать другие языки программирования. Спасибо :)
Кроме того, я не могу просто обновить все мои документы из коллекции карт в список пользователей, иначе это просто станет другой коллекцией карт: (