1
I持ってDataIndicator
が、それは毎日のデータが含まれている1つのモデル呼び出し、Railsのアップデート膨大なデータ
、それは次の列があります。
:id => :integer,
:date => :datetime,
:dau => :integer,
:login_count => :integer
多くのデータがありましたが、今では一部を変更する必要があります。
どのように日付の値を大量に更新しますか?
EX:
元
{ "id" => 1, "date" => 2017-01-01 00:00:00 UTC, "dau" => 5 , "login_count" => 150 },
{ "id" => 2, "date" => 2017-01-02 00:00:00 UTC, "dau" => 5 , "login_count" => 140 },
{ "id" => 3, "date" => 2017-01-03 00:00:00 UTC, "dau" => 5 , "login_count" => 300 }
あなたが見ることができるように更新するために使用すべきデータが
update_date = {
"2017-01-01" => {
"dau" => 5,
"login_count" => 5,
},
"2017-01-02" => {},
"2017-01-03" => {
"dau" => 5,
},
...
}
ようなもので、update_date
はすべての属性が含まれていませんが、それが可能新しいデータが1つだけ、あるいはゼロですらあります。 この値を更新する最も良い方法は何ですか?
私は悪いとしか考えられません。私はあなたの質問を読み違えると思うこの
update_date.each do |k, v|
data_by_date = DataIndicator.where(date: DateTime.parse(k)).first
next if data_by_date.nil?
data_by_date.update(v)
end
これは 'update_date'データに依存します:サイズとは何ですか?' dau'と 'login_count'の値はいくつですか? –