5
1日あたりの文書数は1メートルです。データ配列に別のサブ文書を追加し、存在しない場合は文書全体を作成するにはどうすればよいですか?Mongodb upsert埋め込み文書
{ "key": "20120418_123456789", "data":[ { "Meter": 123456789, "Dt": ISODate("2011-12-29T16:00:00.0Z"), "Energy": 25, "PMin": 11, "PMax": 16 } ], "config": {"someparam": 4.5} }
この目的でupsertを使用できますか?文書が存在する場合
結果は以下のようになります。事前に
{ "key": "20120418_123456789", "data":[ { "Meter": 123456789, "Dt": ISODate("2011-12-29T16:00:00.0Z"), "Energy": 25, "PMin": 11, "PMax": 16 }, { "Meter": 123456789, "Dt": ISODate("2011-12-29T16:15:00.0Z"), "Energy": 22, "PMin": 13, "PMax": 17 } ], "config": {"someparam": 4.5} }
感謝を
私は一日あたり400000 addToSet ...文書ごとに96件のデータを行う必要があります。それは遅いようです...それを行うための他の方法はありますか? – hotips
上記のように、配列を何らかの方法でバインドして最大サイズを予測できる場合を除いて、スローダウンの原因となる値の配列を増やして複数の移動をトリガーしようとしています。更新ははるかに高速になるだろう。あなたがそれを行うことができない場合は、おそらく別のスキーマを考慮し、組み込み配列ではなく別のコレクションにデータを置くべきです。 –