I'm building a simple marketplace web app where the user posts their products. I want to get the user owner of each product. Please tell me how do I perform Firebase inner joins using observables!
productsRef: AngularFireList<any>;
///
constructor(
private db: AngularFireDatabase,
private userService: UserService
) {
this.productsRef = db.list('/products');
}
getProductsList() {
const product$ = this.productsRef.valueChanges();
// 1st observable to get the products
const productsResults$ = product$.pipe(
switchMap(products => products)
)
);
productsResults$.subscribe(
console.log,
console.error,
() => console.log('completed httpResult$')
);
// 2nd observable to get the user
const user$ = this.userService.getUserById(Id);
productsResults$.subscribe(
console.log,
console.error,
() => console.log('completed httpResult$')
);
}
i get the 2 following results.
Products
[
{
"key": "-TM2Y6vBk70rgKZ3zTUAw",
"name": "T-shirt",
"size": "M",
"user": "-NDNPe47CDTbjmwGgW_3",
},
]
User
{
"key": "-NDNPe47CDTbjmwGgW_3",
"username": "Alex199",
},
the end result i want
{
"key": "-TM2Y6vBk70rgKZ3zTUAw",
"name": "T-shirt",
"size": "M",
"user": {
"key": "-NDNPe47CDTbjmwGgW_3",
"username": "Alex199",
},
},
How can I achieve this using observable?