Javascript 从角度firestore Observable获取嵌套值

Javascript 从角度firestore Observable获取嵌套值,javascript,angular,rxjs,google-cloud-firestore,Javascript,Angular,Rxjs,Google Cloud Firestore,我正在使用angularFirestore使用Angular7从我的数据库中获取数据。在我的数据库中,每个用户的帐户余额为$0。我想获取我已完成的当前用户帐户详细信息,并在上一个帐户(0美元)和新付款的总和之后更新该字段。 最大的问题是从observable已经获取的数据中获取[amount:$0]的下一个字段 我已尝试记录下一个欠精细的值 关于userService.ts this.getUserAccount = database.collection('accounts', ref =&g

我正在使用angularFirestore使用Angular7从我的数据库中获取数据。在我的数据库中,每个用户的帐户余额为$0。我想获取我已完成的当前用户帐户详细信息,并在上一个帐户(0美元)和新付款的总和之后更新该字段。 最大的问题是从observable已经获取的数据中获取[amount:$0]的下一个字段

我已尝试记录下一个欠精细的值

关于userService.ts

this.getUserAccount = database.collection('accounts', ref =>
              ref.where('email', '==', getUser) ).valueChanges();
关于我的付款

this.myAccountDetails = userService.getUserAccount;
this.myAccountDetails.subscribe(x => this.databaseAcount = x.data());
setTimeout(() => {
      console.log(this.databaseAcount );
    }, 3000);
在控制台上给出了此结果:

金额:0
已创建:时间戳{秒:1561458855,纳秒:534000000}
电子邮件:“simboy34@gmail.com"_
_proto\uuuuuu:Objectlength:1\uuuuu proto\uuuuuu:Array(0)
如何访问金额值?
注意:我已经尝试了
console.log(this.databaseAmount.amount)
gives//undefined

this.databaseAcount不是json格式的吗?您是否尝试过将console.log放入subscribe本身?您将console.log this.databaseAmount.amount放在哪里?如果您在订阅中使用console.log,您应该能够看到它。
console.log(databaseAmount)
inside subscription提供了相同的值。我尝试了console.log(此处的this.databaseAmount.amount为null
this.myAccountDetails=userService.getUserAccount;this.myAccountDetails.subscribe(x=>this.databaseaccount=x.data());setTimeout(()=>{console.log(this.databaseAcount.amount);},3000);
已解决。我使用以下代码访问amount值``this.db.collection('accounts',reff=>{return reff.where('email','=',this.currentUserEmail);}).snapshotChanges().subscribe((res:any)=>{res map(element=>this.databaseAcount=element.payload.doc.data().amount);`this.databaseAcount不是json格式的吗?您是否尝试过将console.log放入subscribe本身?console.log this.databaseAmount.amount在哪里?如果您在subscribe中使用console.log,您应该能够看到它。
console.log(databaseAmount)
内部订阅提供了相同的值。我尝试了console.log(此处的this.databaseAmount.amount为null
this.myAccountDetails=userService.getUserAccount;this.myAccountDetails.subscribe(x=>this.databaseAcount=x.data());setTimeout(()=>{console.log(this.databaseaccount.amount);},3000)
已解决。我使用以下代码访问金额值``this.db.collection('accounts',reff=>{return reff.where('email','==',this.currentUserEmail);}).snapshotChanges().subscribe((res:any)=>{res map(element=>this.databasecount=element.payload.doc.data().amount)``