【发布时间】:2017-01-04 13:55:25
【问题描述】:
我有一个 MongoDB 存储来自不同传感器的数据。 它的结构如下:
{
"_id" : 1,
"sensorName" : "Heart Rate",
"samplePeriod" : 1000,
"data" : [
{
"timestamp" : NumberLong("1483537204046"),
"dataPoints" : [ 68 70 ]
},
{
"timestamp" : NumberLong("1483537206046"),
"dataPoints" : [ 68 70 ]
}
]
}
{
"_id" : 2,
"sensorName" : "Ambient Light",
"samplePeriod" : 500,
"data" : [
{
"timestamp" : NumberLong("1483537204058"),
"dataPoints" : [ 56, 54, 54, 54 ]
},
{
"timestamp" : NumberLong("1483537206058"),
"dataPoints" : [ 56, 54, 54, 54 ]
}
]
}
例如,现在我需要“心率” - 包含所有字段及其“数据”字段的文档 - 匹配条件“时间戳在 1483537204000 和 1483537214000 之间”的子文档。
我知道聚合但不知道如何不仅返回匹配的子文档,而且返回整个“心率” - 文档仅包含“数据”中的匹配子文档。
我的结构是否有效?您是否有更好的结构来有效查询此类数据?
提前致谢!
【问题讨论】:
标签: mongodb