从集合 firebase firestore 中的所有文档中获取数据

我需要获取 firestore 中一个集合的所有文档的数据。


但在我的 forEach 中,我只得到第一个文件,我有两个。


他打印了两次控制台,但在我的 setPoints 状态下,他只打印了第一个


我做错了什么??


const db = firestore();


        await db

          .collection('Providers')

          .get()

          .then(snapshot => {

            if (snapshot.empty) {

              console.log('nao tem');

              return;

            }


            snapshot.docs.forEach(item => {

              console.log('item', item.data());


              setPoints([

                ...points,

                {

                  id: item.id,

                  latitude: item.data().address.latitude,

                  longitude: item.data().address.longitude,

                },

              ]);

            });


侃侃尔雅
浏览 79回答 1
1回答

回首忆惘然

我没有立即看到您的代码出了什么问题。但这似乎更加简洁和惯用,因此值得一试:const db = firestore();await db  .collection('Providers')  .get()  .then(snapshot => {    if (snapshot.empty) {      return;    }    let points = snapshot.docs.map(item => {        return {          id: item.id,          latitude: item.data().address.latitude,          longitude: item.data().address.longitude,        },      ]);    });    setPoints(points);  })
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript