我正在尝试遍历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
。