私は MongoDb を初めて使用し、時系列データの保存に使用できるかどうかを実験しています。
次のデータを挿入しました...
{
"_id" : ObjectId("5785f186ed936527c05efa10"),
"Timestamp" : ISODate("2006-07-13T07:42:00.000Z"),
"Label1" : "Lab1",
"Attr" : "atrr1",
"Readings" : [
{
"DateTime" : ISODate("2006-07-13T07:42:06.355Z"),
"Value" : "22"
},
{
"DateTime" : ISODate("2006-07-13T07:42:07.355Z"),
"Value" : "22"
},
{
"DateTime" : ISODate("2006-07-13T07:42:08.355Z"),
"Value" : "22"
},
....
したがって、各ドキュメントは、DateTimes を 1 秒間隔で保持する Readings 配列です。
したがって、2つの日時の間でクエリを実行したい場合は、Robomongoクエリウィンドウで次のことを試しています...
db.getCollection('Timedata').find(
{
'Readings.DateTime':
{ $gt: '2005-07-13 07:42:13.355Z', $lt: '2010-07-13 07:42:13.355Z'}
})
Fetched 0 record(s) in 11ms
ただし、実際にはすべてを返す必要があるため、これは常に場所を返します。
私の構文は間違っているに違いありませんが、ここにあるように、何が問題なのか、ネストされた配列で日時を検索する方法を見つけることができません。誰にもアイデアはありますか?
前もって感謝します!