Database
[{id:1,name:"a"},{id:2,name:"b"},{id:4,name:"c"}]
Query
db.collection.aggregate([{$facet:{missingIDs:[{$group:{_id:null,ids:{$push:{id:"$id"}}}},{$project:{_id:0,ids:{$setDifference:[[{id:1},{id:2},{id:3},{id:4},{id:5}],"$ids"]}}},{$unwind:"$ids"},{$project:{id:"$ids.id"}}],matchedDocuments:[{$match:{id:{$in:[1,2,3,4,5]}}},{$project:{id:1,name:1,_id:0}}]}},{"$project":{concat:{"$concatArrays":["$matchedDocuments","$missingIDs"]}}},{$unwind:"$concat"},{"$addFields":{"concat.name":{"$ifNull":["$concat.name","defaultvalue"]}}},{$project:{id:"$concat.id",name:"$concat.name",}},{"$sort":{id:1}}])