Database

db={"Shipment_new":[{"_id":1,"item":"Phone","cityId":1},{"_id":2,"item":"Fridge","cityId":1},{"_id":3,"item":"Laptop","cityId":2}],"City":[{"_id":1,"cityName":"Mumbai","countryId":111},{"_id":2,"cityName":"New York","countryId":222}],"Countries":[{"_id":111,"countryName":"India"},{"_id":222,"countryName":"USA"}]}

Query

db.Shipment_new.aggregate([{"$lookup":{"from":"City","localField":"cityId","foreignField":"_id","as":"city"}},{"$unwind":"$city"},{"$match":{"city.countryId":111}},{"$project":{item:1,city:"$city.cityName",countryId:"$city.countryId"}}])

Result