直接上代码:
const ones = await InspectTaskUser.aggregate([{
$facet: {
paginatedResult: [
{ $match: { user_id: ObjectId(_id) } },
{ $skip: (page - 1) * size },
{ $limit: size },
{
$lookup: {
from: 'inspecttasks',
localField: 'task_id',
foreignField: '_id',
as: 'task'
}
},
{ $unwind: "$task" },
],
totalCount: [
{ $match: { user_id: ObjectId(_id) } },
{ $count: 'totalCount' }
]
}
}]);