【发布时间】:2020-07-18 02:58:23
【问题描述】:
我遇到了一个问题 我在三个集合中使用聚合。所以,我想要聚合结果+单个查询中的结果计数,但由于我也在聚合中使用限制,所以我想要总计数但不仅仅是限制。 这是我的查询
var partnerCollection = [
{ $lookup: {
from: "courses",
localField: "_id",
foreignField: "partnerId",
as: "courses"
} },
{
$project:
{
"_id":1,
"partnerName":1,
"phone":1,
"email":1,
"website":1,
"address":1,
"companyId":1,
"courses.courseName": 1,
"courses.courseType":1,
"courses.totalCost":1,
"courses.costPerWeek":1
}
},
{
$match: findUserDataCondition
},
{
$sort: {
[sortby] : sortType
}
},
{
$skip : start
},
{
$limit : length
} ];
partnerBusiness.aggregate(partnerCollection, (error, result) => {
});
我想得到上述查询的结果(包括$limit)+计数(所有匹配的集合,计数我想忽略$limit), 请帮我解决这个问题。
我希望我的结果是这样的
data: [{ _id: 5d02e292a9ce94663c6aafd6,
partnerName: 'aaaa',
email: 'aaaa@jcub.edu.au',
phone: '1300935386',
website: 'abc.com',
companyId: 5ce3548c52e4920ae3f3f12f,
courses: []
}, { _id: 5d02e292a9ce94663c6aafd6,
partnerName: 'bbb',
email: 'bbb@jcub.edu.au',
phone: '1300935386',
website: 'abc.com',
companyId: 5ce3548c52e4920ae3f3f12f,
courses: []
},
{ ........ },
],
count : 90
【问题讨论】:
-
你能发布示例数据+预期结果吗?
-
我回答了类似的问题here,你能查一下吗?
-
SHIVAM 你检查我发布的答案了吗?如果这没有帮助,您可以在问题中添加示例数据吗?您只添加了预期的结果。
-
@SuleymanSah 谢谢亲爱的,它确实有效。
标签: node.js mongodb aggregation-framework