I am quite a beginner in MongoDb. Tried a lot but stuck on one query.
Please find a sample mongo document on the given below:

```
{ 
    "_id" : ObjectId("5dc158a60566e14c5190db72"), 
    "hotel_id" : NumberInt(45), 
    "plans" : [
        {
            "plan_type" : "AP", 
            "sub_plans" : [
                {
                    "channels" : [
                        {
                            "channel_name" : "default", 
                            "status" : "Pending", 
                            "is_active" : false, 
                            "start_date" : NumberLong(1468521000000), 
                            "end_date" : NumberLong(1901125800000), 
                            "non_veg_available" : null, 
                            "oyo_commission" : 20.0, 
                            "ep_price_reduction" : null, 
                            "salesforce_id" : "a0Y280000023LFwEAM", 
                            "breakfast_start_time" : null, 
                            "breakfast_end_time" : null, 
                            "lunch_start_time" : null, 
                            "lunch_end_time" : null, 
                            "dinner_start_time" : null, 
                            "dinner_end_time" : null, 
                            "created_at" : NumberLong(1468577718000), 
                            "updated_at" : NumberLong(1481074321000), 
                            "prices" : [
                                {
                                    "occupancy" : NumberInt(1), 
                                    "guest_type" : null, 
                                    "veg_price" : NumberInt(400), 
                                    "non_veg_price" : null, 
                                    "additional_non_veg_price" : null, 
                                    "discount" : null
                                }
                            ]
                        }, 
                        {
                            "channel_name" : "default", 
                            "status" : "Pending", 
                            "is_active" : false, 
                            "start_date" : NumberLong(1468521000000), 
                            "end_date" : NumberLong(1901125800000), 
                            "non_veg_available" : null, 
                            "oyo_commission" : 20.0, 
                            "ep_price_reduction" : null, 
                            "salesforce_id" : "a0W28000004GqL4", 
                            "breakfast_start_time" : "7:30", 
                            "breakfast_end_time" : "10:00", 
                            "lunch_start_time" : "12:30", 
                            "lunch_end_time" : "15:00", 
                            "dinner_start_time" : "19:00", 
                            "dinner_end_time" : "22:30", 
                            "created_at" : NumberLong(1505516604000), 
                            "updated_at" : NumberLong(1505516604000), 
                            "prices" : [
                                {
                                    "occupancy" : NumberInt(1), 
                                    "guest_type" : null, 
                                    "veg_price" : NumberInt(425), 
                                    "non_veg_price" : NumberInt(425), 
                                    "additional_non_veg_price" : 0.0, 
                                    "discount" : null
                                }
                            ]
                        }, 
                        {
                            "channel_name" : "default", 
                            "status" : "Pending", 
                            "is_active" : false, 
                            "start_date" : NumberLong(1468521000000), 
                            "end_date" : NumberLong(1901125800000), 
                            "non_veg_available" : null, 
                            "oyo_commission" : 20.0, 
                            "ep_price_reduction" : null, 
                            "salesforce_id" : "a0W28000004GqL4", 
                            "breakfast_start_time" : "7:30", 
                            "breakfast_end_time" : "10:00", 
                            "lunch_start_time" : "12:30", 
                            "lunch_end_time" : "15:00", 
                            "dinner_start_time" : "19:00", 
                            "dinner_end_time" : "22:30", 
                            "created_at" : NumberLong(1505709978000), 
                            "updated_at" : NumberLong(1542162045000), 
                            "prices" : [
                                {
                                    "occupancy" : NumberInt(1), 
                                    "guest_type" : null, 
                                    "veg_price" : NumberInt(425), 
                                    "non_veg_price" : NumberInt(425), 
                                    "additional_non_veg_price" : 0.0, 
                                    "discount" : null
                                }
                            ]
                        }
                    ], 
                    "sub_plan_type" : "Standard", 
                    "is_sub_plan_default" : false
                }
            ]
        }, 
        {
            "plan_type" : "EP", 
            "sub_plans" : [
                {
                    "channels" : [
                        {
                            "channel_name" : "default", 
                            "status" : "Pending", 
                            "is_active" : false, 
                            "start_date" : NumberLong(1468521000000), 
                            "end_date" : NumberLong(1901125800000), 
                            "non_veg_available" : null, 
                            "oyo_commission" : null, 
                            "ep_price_reduction" : NumberInt(80), 
                            "salesforce_id" : "a0Y280000023LG1EAM", 
                            "breakfast_start_time" : null, 
                            "breakfast_end_time" : null, 
                            "lunch_start_time" : null, 
                            "lunch_end_time" : null, 
                            "dinner_start_time" : null, 
                            "dinner_end_time" : null, 
                            "created_at" : NumberLong(1468577718000), 
                            "updated_at" : NumberLong(1481074321000), 
                            "prices" : [
                                {
                                    "occupancy" : NumberInt(1), 
                                    "guest_type" : null, 
                                    "veg_price" : null, 
                                    "non_veg_price" : null, 
                                    "additional_non_veg_price" : null, 
                                    "discount" : null
                                }
                            ]
                        }
                    ], 
                    "sub_plan_type" : "Standard", 
                    "is_sub_plan_default" : false
                }
            ]
        }, 
        {
            "plan_type" : "MAP", 
            "sub_plans" : [
                {
                    "channels" : [
                        {
                            "channel_name" : "default", 
                            "status" : "Pending", 
                            "is_active" : false, 
                            "start_date" : NumberLong(1468521000000), 
                            "end_date" : NumberLong(1901125800000), 
                            "non_veg_available" : null, 
                            "oyo_commission" : 20.0, 
                            "ep_price_reduction" : null, 
                            "salesforce_id" : "a0Y280000023LG6EAM", 
                            "breakfast_start_time" : null, 
                            "breakfast_end_time" : null, 
                            "lunch_start_time" : null, 
                            "lunch_end_time" : null, 
                            "dinner_start_time" : null, 
                            "dinner_end_time" : null, 
                            "created_at" : NumberLong(1468577718000), 
                            "updated_at" : NumberLong(1481074321000), 
                            "prices" : [
                                {
                                    "occupancy" : NumberInt(1), 
                                    "guest_type" : null, 
                                    "veg_price" : NumberInt(200), 
                                    "non_veg_price" : null, 
                                    "additional_non_veg_price" : null, 
                                    "discount" : null
                                }
                            ]
                        }, 
                        {
                            "channel_name" : "default", 
                            "status" : "Pending", 
                            "is_active" : false, 
                            "start_date" : NumberLong(1468521000000), 
                            "end_date" : NumberLong(1901125800000), 
                            "non_veg_available" : null, 
                            "oyo_commission" : 20.0, 
                            "ep_price_reduction" : null, 
                            "salesforce_id" : "a0W28000004GqL4", 
                            "breakfast_start_time" : "7:30", 
                            "breakfast_end_time" : "10:00", 
                            "lunch_start_time" : "12:30", 
                            "lunch_end_time" : "15:00", 
                            "dinner_start_time" : "19:00", 
                            "dinner_end_time" : "22:30", 
                            "created_at" : NumberLong(1505709978000), 
                            "updated_at" : NumberLong(1541476001000), 
                            "prices" : [
                                {
                                    "occupancy" : NumberInt(1), 
                                    "guest_type" : null, 
                                    "veg_price" : NumberInt(225), 
                                    "non_veg_price" : NumberInt(225), 
                                    "additional_non_veg_price" : 0.0, 
                                    "discount" : null
                                }
                            ]
                        }
                    ], 
                    "sub_plan_type" : "Standard", 
                    "is_sub_plan_default" : false
                }
            ]
        }
    ]
}

```

I want only selected fields if:
hotel id is 45, price of occupancy 1, is\_active is false and status is Pending and plan type is in ['AP', 'EP'].
Desired output:

```
{ 
    "_id" : ObjectId("5dc158a60566e14c5190db72"), 
    "hotel_id" : NumberInt(45), 
    "plans" : [
        {
            "plan_type" : "AP", 
            "sub_plans" : [
                {
                    "channels" : [
                        {
                            "channel_name" : "default", 
                            "start_date" : NumberLong(1468521000000), 
                            "end_date" : NumberLong(1901125800000), 
                            "prices" : [
                                {
                                    "veg_price" : NumberInt(425)
                                }
                            ]
                        }, 
                        {
                            "channel_name" : "default", 
                            "start_date" : NumberLong(1468521000000), 
                            "end_date" : NumberLong(1901125800000), 
                            "prices" : [
                                {
                                    "veg_price" : NumberInt(425)
                                }
                            ]
                        }
                    ], 
                    "sub_plan_type" : "Standard", 
                    "is_sub_plan_default" : false
                }
            ]
        }, 
        {
            "plan_type" : "EP", 
            "sub_plans" : [
                {
                    "channels" : [
                        {
                            "channel_name" : "default", 
                            "start_date" : NumberLong(1468521000000), 
                            "end_date" : NumberLong(1901125800000), 
                            "prices" : [
                                {
                                    "veg_price" : null, 
                                }
                            ]
                        }
                    ], 
                    "sub_plan_type" : "Standard", 
                    "is_sub_plan_default" : false
                }
            ]
        }, 
    ]
}

```

My Query:

```
db.collection.find({
  "hotel_id": 45,
  "plans.plan_type": {$in : ["AP", "EP"]},
  "plans.sub_plans.channels.prices.occupancy": 1,
  "plans.sub_plans.channels.is_active": false,
  "plans.sub_plans.channels.status": "Pending"
})

```

**Note** - I need to search in only one document where hotel id is 45.
Please help.
Thanks in advance.