db.getCollection('dbName').aggregate(
{$match: {"Request":"request"}},
{$project : {"PageResult":1,"ProductFilter":1,"BreadCrumbs":1,"ShowCaseHtml":1}},
{$unwind: "$PageResult"},
{$match: { $and:[
{"PageResult.Brand":{$in:[/b1/i,/b2/i]}}
]}},
{$group: {"_id": {"Request":"$Request",
"ProductFilter":"$ProductFilter",
"BreadCrumbs":"$BreadCrumbs",
"ShowCaseHtml":"$ShowCaseHtml"},
"PageResult": {$push : "$PageResult"}}},
{$project : {"PageResult.CategoryID":1}}
)查询的结果如下:
PageResult" : [
{
"CategoryID" : "60006410"
},
{
"CategoryID" : "60006410"
},
{
"CategoryID" : "60006410"
},
{
"CategoryID" : "60006410"
},
{
"CategoryID" : "60006410"
},
{
"CategoryID" : "60006410"
},
{
"CategoryID" : "60006410"
},
{
"CategoryID" : "60006410"
},
{
"CategoryID" : "60006410"
},
{
"CategoryID" : "60006410"
},
{
"CategoryID" : "60005202"
},
{
"CategoryID" : "60005202"
},
{
"CategoryID" : "60005202"
},
{
"CategoryID" : "60005202"
},
{
"CategoryID" : "60005202"
},
{
"CategoryID" : "60005202"
}
]我尝试的是使用CategoryID对PageResult进行分组,所以我在上面的查询中添加了下面这几行:
{$unwind: "$PageResult"},
{ $group : {_id : "$PageResult.CategoryID", count : {$sum : 1} } }但它给了我这个
{
"_id" : "60005202",
"count" : 6.0
}我是不是用错了$group,结果不应该是这样的吗
{
"_id" : "60006410",
"count" : 10.0
},
{
"_id" : "60005202",
"count" : 6.0
}发布于 2018-12-10 20:00:29
几天前,我更改了C:\Users\username.3T\robo-3t\1.1.1\robo3t.json文件中的批处理大小(批处理大小:1),所以每次更改时都看到1个结果是很正常的,我认为默认值是50,所以这意味着我的代码运行得很好。
https://stackoverflow.com/questions/53702525
复制相似问题