Database
db={account:[{"_id":{"$oid":"5f61b573db16185cebfeaaf9"},"status":"ACTIVE","personalInfo":{"entityName":"John Doe",},"createdDateTime":{"$date":"2020-09-16T06:49:23.103Z"},"modifiedDateTime":{"$date":"2020-09-16T06:49:23.103Z"}}],account_transactions:[{"_id":{"$oid":"5f61b5b3db16185cebfeab0c"},"accountId":"5f61b573db16185cebfeaaf9","transactionType":"Payment","createdDate":{"$date":"2020-09-16T06:50:27.305Z"},"createdBy":"sujal.shakya@joinsage.com","lastModifiedDate":{"$date":"2020-09-16T10:23:06.617Z"}},{"_id":{"$oid":"5f61b5b3db16185cebfeab0f"},"accountId":"5f61b573db16185cebfeaaf9","transactionType":"Credit","createdDate":{"$date":"2020-09-16T06:50:27.305Z"},"createdBy":"sujal.shakya@joinsage.com","lastModifiedDate":{"$date":"2020-09-16T10:23:06.617Z"}}]}
Query
db.account.aggregate([{$match:{"status":"ACTIVE"}},{$addFields:{"accountId":{"$toString":"$_id"}}},{$lookup:{from:"account_transactions",localField:"accountId",foreignField:"accountId",as:"transactions"}},{"$project":{"accountType":1,"createdBy":1,transactions:/**adds dummy fields*/{"$map":{"input":"$transactions","as":"transactions","in":{$switch:{branches:[{case:{$eq:["$$transactions.transactionType","Payment"]},then:{transactionType:"$$transactions.transactionType",transactionTypeOrder:1}},{case:{$eq:["$$transactions.transactionType","Sales"]},then:{transactionType:"$$transactions.transactionType",transactionTypeOrder:2}},{case:{$eq:["$$transactions.transactionType","Debit"]},then:{transactionType:"$$transactions.transactionType",transactionTypeOrder:3}},],default:{transactionType:"$$transactions.transactionType",transactionTypeOrder:-1}}}}}}},])