Dynami c Пакетные обновления из другой коллекции Firebase Firestore - PullRequest
0 голосов
/ 02 августа 2020

У меня есть две коллекции, одна из которых будет обновляться примерно раз в месяц. Я хочу обновить другую коллекцию, созданную пользователем, и этот список содержит НЕКОТОРЫЕ документы, которые содержит первая коллекция.

Q1 C и Q1P (категория и процент вознаграждений по кредитным картам) будут меняться каждый квартал. Когда начнется следующий квартал, я отправлю новые значения, но коллекция списков пользователей не будет знать, какие поля читать, так как я не обновлял это поле (поскольку оно создано пользователем). Единственный способ обновить информацию о новом списке пользователей, по-видимому, заключается в том, что вам нужно удалить документ, а затем снова записать его из коллекции Cards, что не кажется лучшим подходом. Будут ли транзакции работать в этой ситуации?

Тот, который обновляется каждый месяц, называется Карты: enter image description here

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, но я могу использовать другие языки программирования. Спасибо :)

Кроме того, я не могу просто обновить все мои документы из коллекции карт в список пользователей, иначе это просто станет другой коллекцией карт: (

...