Node.js 如何在mongodb聚合查询中使用多个组阶段
Mongo查询无法返回任何输入,以防我在查询中增加了Node.js 如何在mongodb聚合查询中使用多个组阶段,node.js,mongodb,group-by,aggregate,Node.js,Mongodb,Group By,Aggregate,Mongo查询无法返回任何输入,以防我在查询中增加了组阶段的数量。下面是我正在使用的查询片段 .group({ _id: "$date", count: { $sum: 1 }, }) /* .group({ _id: "$joinDate", count: { $sum: 1 }, }) .group({ _id: "$applyDate", count: { $sum: 1
组阶段的数量。下面是我正在使用的查询片段
.group({
_id: "$date",
count: {
$sum: 1
},
})
/*
.group({
_id: "$joinDate",
count: {
$sum: 1
},
})
.group({
_id: "$applyDate",
count: {
$sum: 1
},
})*/
你可以用下面的方法做
yourModel.aggregate([ { $group : { _id : "$date" } } ] )
这可能会帮助您解决问题。@CsAlkemy,这是因为您尝试使用的字段在$group
阶段之后不会传播
例如,考虑下面的示例文档和对文档的聚合查询,
{
"name": "SV",
"age": 21,
"school": "KV",
"city": "Ajmer"
}
聚合查询
db.temp.aggregate([
{
$group: {
"_id": "$school",
"count": {
$sum: 1
}
}
}])
输出
{ "_id" : "KV", "count" : 1 }
正如您所看到的,我们得到的字段只有\u id
和count
,其他字段姓名、年龄、学校和城市
丢失,以后无法使用。如果不知道您的数据结构,很难排除故障。然而,这是一个很好的例子。它可能会解决您的问题。@CsAlkemy,如果您需要其他帮助,您可以根据查询的要求更新您的问题,我可以从那里帮助您。