Integer MongoDB按整数值的一部分分组

Integer MongoDB按整数值的一部分分组,integer,substring,long-integer,Integer,Substring,Long Integer,字段数据是一个很长的数字,实际上是日期。我想使用功能组的前4位数字,这是一年。在MongoDB中有这样做的方法吗? 我能够在MySQL中做到这一点,首先将其转换为字符串,然后获取一个子字符串并在该子字符串上运行GROUPBY。但是MySQL需要处理大量数据 任何帮助都将不胜感激 { "_id" : ObjectId("528dd86bd6188ad3e9c0c8ea"), "id" : "CA002303986", "data" : NumberLong(20000101), "element"

字段数据是一个很长的数字,实际上是日期。我想使用功能组的前4位数字,这是一年。在MongoDB中有这样做的方法吗? 我能够在MySQL中做到这一点,首先将其转换为字符串,然后获取一个子字符串并在该子字符串上运行GROUPBY。但是MySQL需要处理大量数据

任何帮助都将不胜感激

{
"_id" : ObjectId("528dd86bd6188ad3e9c0c8ea"),
"id" : "CA002303986",
"data" : NumberLong(20000101),
"element" : "TMAX",
"value1" : -300,
"mflag1" : "",
"qflag1" : "",
"sfalg1" : "G",
"lcol" : ""
}
{
"_id" : ObjectId("528dd86bd6188ad3e9c0c8eb"),
"id" : "CA002303986",
"data" : NumberLong(20000101),
"element" : "TMIN",
"value1" : -345,
"mflag1" : "",
"qflag1" : "",
"sfalg1" : "G",
"lcol" : ""
}
db.collection.aggregate({$project:{year:{$substr:["$data",0,4]}}},
                           {$group:{_id:{'y':'$year'},count:{$sum:1}}})