2016-04-04 7 views
3

私はMongoDBドキュメントを配列内の配列に変換することはできますか?

現在おくつろぎ使用
{ "_id": 1, 
    "impressions": [["2015-01-01", 13], 
        ["2015-01-02", 15], 
        ["2015-01-03", 20]], 
    "clicks": [["2015-01-01", 13], 
      ["2015-01-02", 15], 
      ["2015-01-03", 20]] } 

にこの

{ "_id": 1, 
    "created_at": DateTimeObject, 
    "daily": [{ "impressions":13, 
       "clicks": 13, 
       "day": "2015-01-01" }, 
      { "impressions":15, 
       "clicks": 15, 
       "day": "2015-01-02" }, 
      { "impressions":20, 
       "clicks": 20, 
       "day": "2015-01-03" }] 
} 

のようなものを見て文書を変換しようとすると、グループIは、以下の形式でデータを取得することができ

{ "_id": 1, 
    "impressions": [{ "date": "2015-01-01", "value":13], 
        {"date":"2015-01-02", "value":15}, 
        {"date":"2015-01-03", "value":20}], 
    "clicks": [{"date": "2015-01-01", "value":13}, 
      {"date": "2015-01-01", "value":15}, 
      {"date": "2015-01-01", "value":20}] } 

ています私は、同様の文書から生成する必要がある約150〜200の折れ線グラフが存在し、jを好むため、dbの外でこれを行う必要はありません。変容している必要があります。

EDITmap reduceでこれは可能でしょうか?

+0

必要なスキーマにデータを挿入できます。 – Simulant

+0

@Simulantはい他のクエリでもそのフォーマットがアイドルである可能性があります。だから私はそれが現時点での選択肢だとは思わない – heaven00

+0

@Simulantこれはマップを使って行うことができますか? – heaven00

答えて

0

Mongodbは内部配列をサポートできません。あなたは巻き戻しとグループのみで書く必要があります。

+1

回避策はありますか? – heaven00

+0

私によれば、あなたは最後のコードで言ったように書くべきです。 –

+0

これは最後の手段です:) – heaven00

関連する問題