如何突破querySnapshot forEach循环方法?

TSR*_*TSR 2 javascript node.js firebase google-cloud-firestore

我想打破forEach循环。考虑一下:

db.collection('users').get().then(querySnapshot => {
        if (!querySnapshot.empty) {
            querySnapshot.forEach(doc => {
                let data = doc.data()
                if (data.age == 16) {
                    break //this is not working
                }
            })
        }
    }
)
Run Code Online (Sandbox Code Playgroud)

文档没有提及中断forEach循环

Dou*_*son 10

除了直接在QuerySnapshot 上使用forEach之外,您还可以迭代其docs属性,它只是一个普通的旧javascript数组。编写一个for循环,您可以break根据需要执行以下操作:

for (var i in querySnapshot.docs) {
    const doc = querySnapshot.docs[i]
    if (make_some_decision_here) {
        break
    }
}
Run Code Online (Sandbox Code Playgroud)