MongoDB中未定义$hour返回;“聚合”;
我收集了一些文件。其中一些具有如下元素:MongoDB中未定义$hour返回;“聚合”;,mongodb,aggregation-framework,Mongodb,Aggregation Framework,我收集了一些文件。其中一些具有如下元素: "arrivalTime": { "$date": "2020-02-03T20:19:00.000Z" }, 我正在按到达时间把这些文件分类。(请注意,并非所有文档都有到达时间,因此其中一些文档将被分组为“null”组。)但当我尝试此操作时: myCollection.aggregate([ { "$group": { "_id": { "arrivalhour": { "$hour": "$arr
"arrivalTime": {
"$date": "2020-02-03T20:19:00.000Z"
},
我正在按到达时间把这些文件分类。(请注意,并非所有文档都有到达时间,因此其中一些文档将被分组为“null”组。)但当我尝试此操作时:
myCollection.aggregate([
{ "$group": {
"_id": {
"arrivalhour": { "$hour": "$arrivalTime"}
},
"recordcount": {"$sum":1}
}], function(err, docs){
console.log(docs);
}
…它只是为arrivalhour的所有值返回“undefined”。我做错了什么 试试这个,对我有用
myCollection.aggregate([
{
$project: {
'hour': {
'$hour': {
date: '$arrivalTime', //your db time date
//timezone: "+0530" //pass the time zone
}
}
}
},
{
"$group": {
"_id": {
arrivalhour: '$hour'
},
"recordcount": { "$sum": 1 }
}
}
]), function (err, docs) {
console.log(docs);
}
看起来很好:,有其他详细信息吗?
“2020-02-03T20:19:00.000Z”
是字符串,不是日期
对象。将字符串转换为Date with,或者您可以使用$hour
@mickl这很奇怪,试图找出这里的区别…我已经找到了。我在“文档”中有一些旧条目,它们把事情搞砸了。我修好了,现在可以用了。我不知道是否应该删除这个问题。