【发布时间】:2019-02-20 14:30:21
【问题描述】:
在本文档中,“27”和“28”是一个月中的几天,而“27”下的“6”到“11”代表一天的小时
{
"values" : {
"27" : {
"6" : {
"users" : [
"5b5abc5ddd601f0b6681358a"
]
},
"7" : {
"users" : [
"5b5ac75cdd601f0b668157ff",
"5b5acd0ddd601f0b66816803"
]
},
"8" : {
"users" : [
"5b5acd0ddd601f0b66816803"
]
},
"9" : {
"users" : [
"5b5acd0ddd601f0b66816803",
"5b5ae89b781e011702f00812"
]
},
"10" : {
"users" : [
"5b5ae89b781e011702f00812"
]
}
},
"28" : {
"11" : {
"users" : [
"5b5abacadd601f0b6681312e"
]
}
}
}
}
我希望能够以两种方式查询它
首先是{day: users-count}
示例:
{"27" : 7,
"28" : 1 }
其他方式是{day : {hour : users-count} 示例:
{"27" : ["6" : 1,
"7" : 2,
"8" : 1,
"9" : 2,
"10": 1],
"28" : ["11" :1]}
将其用于预测和时间序列分析。
什么是聪明和优化的方式来做到这一点?
【问题讨论】:
标签: mongodb mongoose nosql mongodb-query aggregation-framework