mongodb - 不使用 mongoDB 每 6 小时间隔获取记录计数
问题描述
我需要通过使用 MongoDB 匹配用户输入值以每 6 小时时间间隔获取结果计数。我的查询是:
db.user.aggregate([
{ $match : { caseState : state, caseStatus:status } },
{ $group: {
_id: {
year: { $year: "$createdDate" },
dayOfYear: { $dayOfYear: "$createdDate" },
hour: { $hour: "$createdDate" },
interval: {
$subtract: [
{ $minute: "$createdDate" },
{ $mod: [{ $minute: "$createdDate"}, 60*6] }
]
}
}},
count: { $sum: 1 }
}
])
.toArray((err, docs)=>{
console.log('docs',docs);
})
在控制台中,我得到的结果未定义。我的要求是通过匹配记录计数的用户输入值state and status
来获取如下所示。
0-6 2
12-18 1
...............
根据我的代码,我得到了结果undefined
。
解决方案
推荐阅读
- elasticsearch - Kibana 6 合并 2 个过滤器
- gradle - Windows 10 和 Linux (gradle 2.2.1 & 5.2.1) 之间的不同子项目行为
- powerapps - 来自 Excel 文件数据源的 PowerApps 导航
- eclipse - Eclipse Oxygen 2 WAS 9 服务器未启动
- javascript - 如何使用 css 在 3 列中显示项目
- odoo-8 - 如何在odoo中只搜索视图
- eclipse-plugin - 在 Eclipse CDT 中禁用默认错误解析器
- javascript - 在两个单独的 JS 数据表中对两个不同的列索引进行排序
- google-cloud-bigtable - 无法解析 BigtableRow 类
- python-3.x - 按特定顺序重命名具有两个不同名称的图像