0
的條件的我有一個MongoDB的存儲來自不同傳感器的數據。 它具有以下結構:查詢的文檔和它的所有的子文檔匹配的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之間」 。
我知道的聚集,但無法弄清楚,如何不僅返回匹配的子文檔,但回到整個「心率」 - 文件僅包含在「數據」匹配的子文檔。
我的結構是否有效?您是否有任何提示有效查詢此類數據的更好結構?
在此先感謝!
完美的作品!謝謝。 有沒有辦法在Java春天做到這一點? – Nas3nmann