如何从Firebase的Typescript快照中获取数据?

时间:2019-01-03 19:11:11

标签: javascript typescript firebase promise google-cloud-firestore

我正在将数据库迁移到Firebase的Firestore,但是为此,我不得不将原始表的另一部分迁移到Firestore。现在,我想检索以前创建的文档Firestore的ID,但是在从Firebase获得的原始诺言中检索此数据时遇到问题。

我已经尝试将其作为异步承诺处理,如此处建议的:Typescript : I can't get the data out of Firebase promise

可悲的是,对于我来说,这对我不起作用:

 let firebase_browser=db.collection('browsers')
 let firebase_browser_reply=[]
 let firebase_platforms=db.collection('platforms')
 i=0
 browser_data.forEach(async element=>{
          let snapshot= await firebase_browser.where('name', '==',element[1] ).get()
            .then(snapshot=>{
            snapshot.forEach(async doc => {
              await firebase_browser_reply.push(doc.id)
            });
            element[1]=firebase_browser_reply[i]
            i=i+1
          })

            //console.log(firebase_browser_reply[1])// This works!
          })
 console.log(firebase_browser_reply[1]) //This does not work

将“声明有效”的部分作为注释打印从数组中的firebase获得的正确ID值。 注释中指出“这不起作用”的部分会打印出来……好吧,一个空数组。 这意味着firebase_browser_reply数组已被修改,但只能在promise内访问。

关于如何获取数据的任何想法?

0 个答案:

没有答案