尝试在firestore事务中批量递减值

时间:2018-05-14 10:21:28

标签: node.js firebase google-cloud-firestore

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

0 个答案:

没有答案