I have 3 collections. i want to combine those and filter data from merged data.
Business Collection
{
_id:1,
"user_id": 1,
"name": "Doll Shopqq",
"registered_phone_number": 701006522222109,
"business_profile_image_url": "http://website.com/hiyup_dev/business/1611569489867_businessImage.jpeg",
"email": "",
"media_urls": ["http://website.com/hiyup_dev/business/1611569503298_3176405500.jpeg",
"http://website.com/hiyup_dev/business/1611569983527_3192836205.mp4"],
"description": "Doll shop",
"products": [{
"_id": 1
"name": "Dog Biscuits",
"lower_price": "0.00",
"media_urls": ["http://website.com/hiyup_dev/product/1611569983527_3192836205.jpeg", "http://website.com/hiyup_dev/product/1611569983527_3192836205.mp4"],
"higher_price": "0.00",
"description": "Biscuits",
}, {
"_id": 2,
"name": "Dog Biscuits-1",
"lower_price": "0.00",
"media_urls": ["http://website.com/hiyup_dev/product/1611569983527_3192836205.jpeg"],
"higher_price": "0.00",
"description": "Biscuits-1",
}],
"status": 1,
"country_code": ""
}
Offer Collection
{
"_id": 1,
"name": "offer name 1",
"user_id": 1,
"lower_price": "0.00",
"media_urls": ["http://website.com/hiyup_dev/offer/1611569983527_3192836205.jpeg",
"http://website.com/hiyup_dev/offer/1611569983527_3192836205.mp4"],
"higher_price": "0.00",
"description": "Biscuits",
}, {
"_id": 2,
"name": "offr name2", "user_id": 1,
"lower_price": "0.00",
"media_urls": ["http://website.com/hiyup_dev/offer/1611569983527_3192836205.jpeg"],
"higher_price": "0.00",
"description": "Biscuits-1",
}
Product Request Collection
{
"_id": 1,
"name": "request name 1", "user_id": 1,
"lower_price": "0.00",
"media_urls": ["http://website.com/hiyup_dev/request/1611569983527_3192836205.jpeg",
"http://website.com/hiyup_dev/request/1611569983527_3192836205.mp4"],
"higher_price": "0.00",
"description": "Biscuits",
}, {
"_id": 2,
"name": "request name2", "user_id": 1,
"lower_price": "0.00",
"media_urls": ["http://website.com/hiyup_dev/product/1611569983527_3192836205.jpeg"],
"higher_price": "0.00",
"description": "Biscuits-1",
}
From business collection i need to fetch the products which has video in products.media_urls likewise from offer, product_request collection i want to fetch the item which has video in media_urls. I want to fetch the items from product, offers, product_request which has video in their media_url array.
I want to combine these collections and filter the media_urls which has only video. For a Single collection i done filtering using regex.
But i couldnt combine multiple collections. when i used unwind. duplicate data are coming.
My expected out put is
{
"_id": 2, //or some other key name like product_id
**"type": "products"**
"name": "Dog Biscuits-1",
"lower_price": "0.00",
"media_urls": [
"http://website.com/hiyup_dev/product/1611569983527_3192836205.mp4"],
"higher_price": "0.00",
"description": "Biscuits-1",
},
{
"_id": 1,//or some other key name
"type": "offer"
"name": "offer name 1",
"lower_price": "0.00",
"media_urls": [
"http://website.com/hiyup_dev/offer/1611569983527_3192836205.mp4"],
"higher_price": "0.00",
"description": "Biscuits",
},
{
"_id": 1,//or some other key name
"type": "request"
"name": "request name 1",
"lower_price": "0.00",
"media_urls": [
"http://website.com/hiyup_dev/request/1611569983527_3192836205.mp4"],
"higher_price": "0.00",
"description": "Biscuits",
},
{
"_id": 1,//or some other key name
"type": "business"
"media_urls": [
"http://website.com/hiyup_dev/business/1611569983527_3192836205.mp4"],
}
).pretty();