Я пытаюсь перебрать массив пользовательских объектов в моей базе данных 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
.