1. MongoDb combine $facet results into a single result set db.getCollection('list').aggregate([ { $facet: { "events":[{ $match: { 'type': 'Event' } }], "tasks": [{ $match: { 'type': 'Task' } }] } }, {$project: {activity:{$setUnion:['$events','$tasks']}}}, {$unwind: '$activity'}, {$replaceRoot: { newRoot: "$activity" }} ]);