我处理以下文件:
{
"foo" : { "objectid" : "39", "stuff" : "65" },
"yearpublished" : ["1979"],
"bar" : "1263"
}
yearpublished
是一个数组,我想按此数组中的第一个值对集合进行分组,然后计算相关文档的数量。
我已编写此查询:
db.foobar.aggregate([
{ $group : {
_id : '$yearpublished',
count: { $sum: 1 }
}}
])
并获得:
{
"result" : [
{ "_id" : ["1923"], "count" : 1.0000000000000000 },
{ "_id" : ["1864"], "count" : 1.0000000000000000 }
]
}
但是我正在寻找这种结果(即仅第一个元素):
{
"result" : [
{ "_id" : "1923", "count" : 1.0000000000000000 },
{ "_id" : "1864", "count" : 1.0000000000000000 }
]
}
我也尝试过_id : { $first: '$yearpublished.0' },
或_id : { $first: '$yearpublished[0]' },
,但没有成功。
如何将数组的第一个元素分组[[年份]?]
[我使用以下文件:{“ foo”:{“ objectid”:“ 39”,“ stuff”:“ 65”},“ yearpublished”:[“ 1979”],“ bar”:“ 1263”} yearpublished是一个数组,我想对我的...进行分组...