1
私はPostgres、NodeJS、Knexを使用しています。一意のフィールドとnode.jsとpostgres bulk upsertまたは別のパターン?
- データベーステーブル:
は、私は次のような状況があります。
:私はオブジェクトの配列を持っていると私はする必要がNodeJSで
。テーブルにユニークIDが含まれていない場合は、新しい行を挿入するか、
bと入力します。テーブルに一意のIDが含まれている場合は、残りのフィールドを更新します。私の知識から
私は3つのオプションがあります。
- データベースに存在する場合は、各チェックし、応答に基づいて、更新または挿入を行うには、クエリを実行します。これは、各配列項目と挿入または更新の呼び出しがあるため、リソースのコストがかかります。
- idが配列内にあるすべての行を削除し、挿入を実行します。これは2つの操作だけを意味しますが、オートインクリメントフィールドは増え続けます。
- Postgres 9.5がそれをサポートしてからupsertを実行します。一括アップロードは機能しているようで、データベースへの呼び出しのみです。
私が知っているオプションを見てみると、upsertは最も合理的なようですが、何か欠点がありますか?