Database

[{"order_id":1,"customer_name":"Nikos","order_type":"digital","title":"Zorba","price":25},{"order_id":2,"customer_id":"Giorgos","order_type":"physical_delivery","title":"War and Peace","price":30},{"order_id":2,"customer_id":"Giorgos","order_type":"digital","title":"Children of the Gabalawi Street","price":35},{"order_id":3,"customer_id":"Giorgos","order_type":"digital","title":"The Desert of the Tartars","price":40}]

Query

db.collection.aggregate([{$group:{_id:"$order_id",customer_name:{$first:"$customer_name"},orders:{$push:{title:"$title",price:"$price",order_type:"$order_type"}}}},{$project:{_id:0,order_id:"$_id",customer_name:1,digital_orders:{$filter:{input:"$orders",cond:{$eq:["$$this.order_type","digital"]}}},physical_orders:{$filter:{input:"$orders",cond:{$eq:["$$this.order_type","physical_delivery"]}}}}}])

Result