2017-01-05 3 views
0

私はtimeseriesデータベースとしてmongodbを使用し、timestamp + idを使用してクエリーします。timeseriesデータベースとしてのmongodbのキーとして

示されている通り、データを格納する方法here

{ 
    timestamp_hour: ISODate("2013-10-10T23:00:00.000Z"), 
    ID: “System1”, 
    values: { 
    0: { 0: 999999, 1: 999999, …, 59: 1000000 }, 
    1: { 0: 2000000, 1: 2000000, …, 59: 1000000 }, 
    …, 
    58: { 0: 1600000, 1: 1200000, …, 59: 1100000 }, 
    59: { 0: 1300000, 1: 1400000, …, 59: 1500000 } 
    } 
} 

私は複数の値を持っていますが、すべての値に対してタイムスタンプはありません。周期的ではありません。 データに時間がかかっていたり、数日かかることがありません。 私の時間は0-24、分は0-59を使いたくないです。 測定されたタイムスタンプを代わりに使用できますか?私の文書のすべての値は同じタイムスタンプを持つので、value1に50のエントリがある場合、value2には50のエントリと等しいタイムスタンプがあります。

 { 
      timestamp_hour: ISODate("2013-10-10T23:00:00.000Z"), 
      ID: “System1”, 
      values1: { 
      "2013-10-10T22:00: { 
     "2013-10-10T22:01:00.000Z": 999999, 
     "2013-10-10T22:02:00.000Z": 999999, 
     "2013-10-10T22:03:00.000Z": 1000000 
           }, 
      "2013-10-10T23:00:": { 
     "2013-10-10T23:01:00.000Z": 2000000, 
     "2013-10-10T23:02:00.000Z": 2000000, 
           }, 
      } 
     values2: { 
      "2013-10-10T22:00: { 
     "2013-10-10T22:01:00.000Z": 999999, 
     "2013-10-10T22:02:00.000Z": 999999, 
     "2013-10-10T22:03:00.000Z": 1000000 
           }, 
      "2013-10-10T23:00:": { 
     "2013-10-10T23:01:00.000Z": 2000000, 
     "2013-10-10T23:02:00.000Z": 2000000, 
           }, 
     } 
    } 

答えて

1

あなたは、着信タイムスタンプを使用して値を保存し、必要な粒度で異なるコレクションでそれらを自分の価値観を変換して保存するために別のmongodb map-reduceプロセスを使用することができます(例:毎時、毎日、毎月)。 incremental map-reduceも参照してください。

また、これらの記事は感激見つけることができる:

+0

あなたはそれが正しいとしようとIAMの道を意味ですか? – Khan

関連する問題