Вы можете найти $facet
полезным для этого в структуре агрегации. Эти два аспекта будут содержать результаты двух запросов, и затем вы сможете выполнить вычитание на более поздних этапах агрегатного конвейера.
Возьмем, к примеру, следующий подход:
const pipeline = [
{ '$facet': {
'maincount': [
{ '$match': { isaccepted: 'false' } },
{ '$sort': { '_id': 1 } },
{ '$limit': 1 }
],
'urcount': [
{ '$match': { name: 'prajakta' } },
{ '$limit': 1 }
]
} },
{ '$project': {
'diff': {
'$subtract': [
{ '$arrayElemAt': ['$urcount.id', 0] },
{ '$arrayElemAt': ['$maincount.id', 0] }
]
}
} }
]
const result = await User.aggregate(pipeline).exec()
console.log(result[0])