【发布时间】:2020-04-13 13:43:22
【问题描述】:
我正在尝试获取一些过滤后的数据以及它的总数。我想在单个查询中完成这两项工作,所以我该怎么做。下面是我的代码。
var SubId = 1;
var TypeId = 1;
var lookup = {
$lookup:
{
from: 'sub_types',
localField: 'sub_id',
foreignField: 'sub_id',
as: 'sub_category'
}
};
var unwind = { $unwind: "$sub_category" };
var project = {
"ques_id": 1,
"ques_txt": 1,
"ans_txt": 1,
"ielts_sub_id": 1,
"ielts_tags_id": 1,
};
var match = {
"sub_category.type_id": parseInt(TypeId),
"sub_category.sub_id": parseInt(SubId),
"status": 1
};
ieltsmongoose.collection('ques').aggregate([
lookup, unwind,
{
$match: match
},
{
$project: project
}
]).limit(max_row).toArray(async function (error, Ques) {....});
现在我想用同样的查询来计数,比如
{
$count: "totalcount"
},
【问题讨论】:
-
请在jsoneditoronline.org分享收藏
-
这能回答你的问题吗? mongo group query how to keep fields