我正在使用Ionic和Firebase,我面临着链接数据的几个问题,无论是操作还是打印。我读过几篇文章,看过几个不同版本方法的视频,但还没能解决,我必须认识到,我现在一团糟(当然,我是个初学者)。让我解释更多细节:
版本
"angularfire2":"^5.0.0-rc.6“ “火力基地”:"^4.10.1“ “离子角”:"3.9.2",
Firebase结构示例

我需要打印的
现在,我能够检索并打印订单列表,当然,字段" user“显示为"-L5uzsn0C4-FYiS7HiY”,但我需要显示的是用户"Carlos“的名称。
逼近
...but没有正常显示,即使没有该订单的用户。
getUserName(order.payload.val().user)之后,似乎不可能在那里调用/打印函数.db.child,但这个函数似乎不可用,我认为这是一个版本问题.我检索订单列表:
ordersList: any;
this.ordersList = this.afd.list('/orders/2018/03-marzo/').snapshotChanges();此时,ordersList被正确地用*ngFor打印出来,但是我想通过代码访问键和值。我看了使用Ionic3和angularfire5的Ionic3和angularfire5的视频(参见2:02分钟),我正在使用这段代码,但它不工作,不检索错误,但没有打印任何内容
this.ordersList$ = this.afd.list('/orders/2018/03-marzo/')
.snapshotChanges() //Key and value (valueChanges only value)
.map(
changes => {
console.log(changes.map(c => ({
key: c.payload.key,
...c.payload.val(),
})));
});提前谢谢。
相关问题相关问题似乎是为以前的angularfire版本开发的,因为我不能像显示从火基到离子的嵌套数据那样使用".map“函数。
发布于 2018-03-13 00:16:03
尽管引发了另一个问题,我还是对这个问题有了答案。
下面是我所需的代码,用于操作火基列表数据,执行所需操作,并将其加载到数组中:
this.afd.list('/orders/2018/03-marzo/')
.snapshotChanges()
.subscribe( res =>
res.map(action => {
//another query to firebase to retrieve the name of the user with id = action.payload.val().repartidor
orders.push({key: action.key,
tienda: action.payload.val().tienda,
cajas: action.payload.val().cajas,
repartidor: //name stored previously
})
}),
error => console.log(error));这就是我一开始想要的,有了这个,我就能到达订单的每一个领域。
现在我在用html打印订单时遇到了问题,当我更新任何信息时,它们会被打印出来,但是会被复制。无论如何,我认为我必须澄清我的DB结构是否是我所需要的。
https://stackoverflow.com/questions/49234920
复制相似问题