Angularjs 如何从Cloud Firestore获取数据并将其转换为本地可用数据(Cordova/Angular)

Angularjs 如何从Cloud Firestore获取数据并将其转换为本地可用数据(Cordova/Angular),angularjs,node.js,cordova,google-cloud-firestore,Angularjs,Node.js,Cordova,Google Cloud Firestore,我正在使用Cloud Firestore作为我的Ionic/Cordova应用程序的数据库 我的问题是试图从Firestore数据库“获取”存储的数据,并在“计算函数”中使用它们 我在Firestore中的数据库结构如下: UniqueID (collection) > 1000 (document) >

我正在使用Cloud Firestore作为我的Ionic/Cordova应用程序的数据库

我的问题是试图从Firestore数据库“获取”存储的数据,并在“计算函数”中使用它们

我在Firestore中的数据库结构如下:

UniqueID (collection)
                       >
                         1000  (document)
                                           >
                                              Year (field)
                                              Info (field)
                         1020  (document)
                                           >
                                              Year (field)
                                              Info (field)
                         8394  (document)                                               
                                              Year (field)
                                              Info (field)
                         4543  (document)
                                           >
                                              Year (field)
                                              Info (field)
我当前的代码能够从Firestore检索/获取数据,但是我还不能利用这些数据,因为我找不到一种方法来实现这一点

获取数据功能:

firebase.firestore().collection(`${user.uid}`).get().then(snapshot => {
        snapshot.forEach(doc => {
            console.log(doc.id, '=>', doc.data());
        });
    })
    .catch(err => {
        console.log('Error getting documents', err);
    });
此doc.id显示文档名称,doc.data()显示该文档中的字段值

此函数用于检索集合中的所有文档。(按计划) 我尝试将Observable与接口一起使用,但无法使其工作

是否有一种方法可以动态地将检索数据保存到某种对象,然后在其他功能中使用它?


谢谢

我相信您需要绘制数据,对吗

function list(user) {
  return firebase.firestore()
    .collection(user.uid)
    .get()
    .then(snapshot => {
      const list = [];

      snapshot.forEach(doc => {
        const data = doc.data()
        data.id = doc.id;
        list.push(data);
      });

      return list;
    })
    .catch(err => {
      console.log('Error getting documents', err);
    });
}

list({ uid: 'some-valid-uid' }).then((list) => {
  console.log(list);
});

我相信你需要绘制数据图,对吗

function list(user) {
  return firebase.firestore()
    .collection(user.uid)
    .get()
    .then(snapshot => {
      const list = [];

      snapshot.forEach(doc => {
        const data = doc.data()
        data.id = doc.id;
        list.push(data);
      });

      return list;
    })
    .catch(err => {
      console.log('Error getting documents', err);
    });
}

list({ uid: 'some-valid-uid' }).then((list) => {
  console.log(list);
});

不清楚具体问题是什么不清楚具体问题是什么