Database

db={"restaurants":[{_id:ObjectId("6247bb494c0697948d2813d9"),restaurant_name:"A"},{_id:ObjectId("6247bb494c0697948d281310"),restaurant_name:"B"}],"dishes":[{_id:ObjectId("6247bb484c0697948d280b19"),dish_name:"Dish A",restaurant_id:ObjectId("6247bb494c0697948d2813d9")},{_id:ObjectId("6247bb484c0697948d280b20"),dish_name:"Dish B",restaurant_id:ObjectId("6247bb494c0697948d2813d9")},{_id:ObjectId("6247bb484c0697948d280b21"),dish_name:"Dish C",restaurant_id:ObjectId("6247bb494c0697948d2813d9")},{_id:ObjectId("6247bb484c0697948d280b22"),dish_name:"Dish D",restaurant_id:ObjectId("6247bb494c0697948d2813d9")},{_id:ObjectId("6247bb484c0697948d280b23"),dish_name:"Dish E",restaurant_id:ObjectId("6247bb494c0697948d2813d9")},{_id:ObjectId("6247bb484c0697948d280b24"),dish_name:"Dish F",restaurant_id:ObjectId("6247bb494c0697948d2813d9")},{_id:ObjectId("6247bb484c0697948d280b25"),dish_name:"Dish G",restaurant_id:ObjectId("6247bb494c0697948d281310")},{_id:ObjectId("6247bb484c0697948d280b26"),dish_name:"Dish I",restaurant_id:ObjectId("6247bb494c0697948d281310")}]}

Query

db.restaurants.aggregate([{"$lookup":{"from":"dishes","localField":"_id","foreignField":"restaurant_id","as":"menu"}},{$addFields:{countDishes:{$size:"$menu"}}},{$match:{countDishes:{$gt:5}}}])

Result