我有这种形式的记录:
{
"_id" : ObjectId("57993e64498e9bebb535154f"),
"fooKey" : "123|a|b|c|||d",
"locationId" : 1,
"type" : "FOO"
}
{
"_id" : ObjectId("579e0a3d498e9bebb545ff96"),
"fooKey" : "123|x|y|z|||v",
"locationId" : 1,
"type" : "FOO"
}
{
"_id" : ObjectId("57a5443b498e381a40a26afb"),
"fooKey" : "123|a|b|c|||d",
"locationId" : 2,
"type" : "FOO"
}
{
"_id" : ObjectId("57a63fef498e381a40a60347"),
"fooKey" : "123|x|y|z|||v",
"locationId" : 2,
"type" : "FOO"
}
{
"_id" : ObjectId("579ab3ce498e9538125052ca"),
"fooKey" : "456|h|j|j|||k",
"locationId" : 2,
"type" : "BAR"
}
我浏览了文档,这看起来很复杂,因为我今天需要这个(而且我不是Mongo的专家)。我需要一个聚合查询(仅适用于带有“type”:“FOO”的记录)来返回按以下方式分组的组:
然后将类型字段的结果计数(特别是等于“FOO”的位数)大于1。
根据上面的记录,我需要在组中返回的记录1和2以及在组中聚集的记录3和4的内容......以及组大小的计数。
预期输出
这样的事情:
{
"foo": "123",
"locationId": 1,
"type": "FOO",
"total": 2
},
{
"foo": "123",
"locationId": 2,
"type": "FOO",
"total": 2
}