【发布时间】:2018-04-19 19:01:19
【问题描述】:
如何将3个firestore集合加入到一起,答案如下 ngOnInit() {
// this.productService.getImageUrl().subscribe(products=> this.products = products)
this.products = this.afs.collection('/products', ref => ref.where('publish', '==', true)) .snapshotChanges().map(actions => {
return actions.map(a => {
const data = a.payload.doc.data();
const id = a.payload.doc.id;
//this.afs.collection('productPhotos').doc(id)
return this.afs.collection('users').doc(data.uid).snapshotChanges().map(userActions=>{
return userActions.payload.data();
}).map(user=>{
// return { id:id, url:user.url, ...data };
return { id:id, displayName:user.displayName, email:user.email, ...data };
})
});
}).flatMap(merge => Observable.combineLatest(merge)).map(data => {
return [].concat(...data).map(d => {
return d;
})
})
}
【问题讨论】:
-
谢谢!我尝试在上面应用您的解决方案。
-
感谢链接 2 运行良好,我现在尝试添加第三个表。这是棘手的 3 表。你能看看stackblitz链接吗
-
请用最少的代码编辑您的问题并简要说明您的问题。
-
Samuel Liew,c69,这是 Angular 5 和 firestore。我已经回答了我自己的问题。
标签: rxjs observable angular5 google-cloud-firestore