Попытка пакетного уменьшения значений в транзакции пожарного магазина - PullRequest
0 голосов
/ 14 мая 2018

Я пытаюсь перебрать массив пользовательских объектов в моей базе данных Firestore и уменьшить значение queuePosition, связанное с ними. Я делаю это с помощью транзакции. Однако я не могу заставить его работать. Это моя текущая попытка:

function decrementPosition(users, eventId) {
    return db.runTransaction(transaction => {
        return Promise.all(users.forEach(user => {
            const queuerRef = firebase.db.collection("events")
                                .doc(eventId)
                                .collection("queue")
                                .doc(user.id)
            return transaction.get(queuerRef)
                    .then(doc => {
                        const newPosition = doc.data().queuePosition - 1
                        return transaction.update(queuerRef, {queuePosition: newPosition})
                    })
        }))
    })
}

Это выдает ошибку TypeError: Cannot read property 'Symbol(Symbol.iterator)' of undefined.

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