Как прочитать и обновить неизвестное количество документов в транзакции? - PullRequest
0 голосов
/ 14 апреля 2020

Я хочу прочитать неизвестное количество документов, прежде чем писать каждому из них. Количество документов будет зависеть от выбора клиента. И я должен использовать транзакции для этого. Я не хочу, чтобы какой-либо другой запрос изменил БД во время этих записей. В документации Firebase говорится, что перед транзакцией может быть любое количество get() операций, а затем любое количество операций записи. Однако в примере показана только одна операция get (node.js). Как запустить неизвестное количество операций get? Должен ли я связать их как

t.get().then(() => t.get().then(() =>...

Потому что я не могу сделать это с неизвестным количеством документов. Или я могу передать массив чтений в get () как

const arr = docIds.map(id => db.collection('a-collection').doc(id).get()) // I have IDs in the array docIds
t => {
  t.get(arr).then(snapshot => ...)
}

Я нашел этот вопрос , но ни один из кодов после getAll() не выполнялся. Пожалуйста, помогите.

...