我一直在尝试使用聚合函数按年份对日期字段进行分组:
db.identities.aggregate([
{
$group : {
_id : { year : {$year : "$birth_date"}},
total : {$sum : 1}
}
}
])
然而,我的一些日期在 1970 年之前,作为 Windows 用户,我收到了一个关于 gmtime 的严重错误:
{
"errmsg" : "exception: gmtime failed - your system doesn't support dates before 1970",
"code" : 16422,
"ok" : 0
}
我知道现在显而易见的答案是让我运行虚拟机或其他东西,但我只是好奇是否有任何适用于 Windows 的解决方法(在我的情况下为 Windows 7)。如果没有多少性能影响会将日期存储为嵌套对象,即:
birth_date : {
year : 1980,
month : 12,
day : 9
}
我不太确定索引等会有多忙碌。
任何建议表示赞赏!