You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
重複を防ぐ為にSELECT FROM hoge WHERE id IN <ids>でidのリストを渡して
保存されているものは値を更新
保存されていないものは新しく作成
という形で操作しなければならない
ループ内でfilter{ hoge.contains() }を使う方法もあるが計算量的にはO(n^2)なので微妙に思える
言語は違うがJSでは一定数までは上記の二重ループでも早いので毛嫌いするほどではないと思われるが
let newObjects = hoge
let storedObjects = SELECT INで取ってきたやつ
if storedObjects.count == newObjects.count { 更新 }//取得できたものと新しくきたものの数が同じなら全て保存されている
else {
let differences//差分
//新しいやつは作成
//あるものは更新
}
リレーションがの場合はさらにそこから更新対象のリレーションの差分を見て更新する
let storedObjects = SELECT INで取ってきたやつ
let storedRelationObjects = 更新対象のリレーション
let difference = 差分
前段の差分で新しかったものは追加し
ここで新しかったものは追加
消えてるものはrelationから削除
The text was updated successfully, but these errors were encountered:
What
重複を防ぐ為に
SELECT FROM hoge WHERE id IN <ids>
でidのリストを渡して保存されているものは値を更新
保存されていないものは新しく作成
という形で操作しなければならない
ループ内で
filter{ hoge.contains() }
を使う方法もあるが計算量的にはO(n^2)
なので微妙に思える言語は違うがJSでは一定数までは上記の二重ループでも早いので毛嫌いするほどではないと思われるが
リレーションがの場合はさらにそこから更新対象のリレーションの差分を見て更新する
The text was updated successfully, but these errors were encountered: