1

ユーザーが自分のデータをアップロードするためのフォームを提供します。ajax-form-submit を使用し、データを解析して多数のモデル (アップロードされた csv の行ごとに 1 つ) を作成します。

ここで、事前定義されたコレクションにモデルを作成したいと考えています。

モデルの配列を取る add を使用できますが、残念ながら、サーバー側で PUSH を送信しません。モデルごとに .create を反復して作成できることはわかっていますが、10,000 個のモデルがあるとしましょう。10,000 回の呼び出しが作成されます。不合理に聞こえます。何か見逃しましたか?

もう 1 つの方法は、サーバーで複数のモデルを受け入れ、.ajax 呼び出しを使用してから、UI レンダリングのためにコレクションに手動で追加することです。

最適なルートを探しています。ありがとう。

4

2 に答える 2

2

バックボーンと REST は、一括作成の例など、実際のユース ケースをすべてカバーしているわけではありません。また、非常に一般的な一括削除の公式パターンもありません。なぜ彼らがこれらの非常に一般的なユースケースに対処することを拒否するのかについて私は困惑していますが、いずれにせよ、ここであなた自身の適切な判断に委ねられています. bulkSaveそのため、コレクションにorimportメソッドを追加することをお勧めします。これにより、CSV フォーム データを含む AJAX POST 要求がサーバーに送信され、サーバーは情報を保存し、すべてがうまくいけば、新しく作成されたモデルの JSON 配列を返します。コレクションは、POST 応答でその JSON 配列を取得し、それをに渡す必要がありますreset(parse特別な解析が必要な場合も同様です)。

特に 10,000 個のモデルを計画している場合は、モデル (CSV の行) ごとに POST 要求を実行しないでください。ただし、はっきりさせておくと、UI がレコードごとにリアルタイムの進行状況とエラー処理を表示する場合 (たとえば、65 件中 23 件が保存されている)、数十のモデルに対してそのパターンを実行してもまったく問題はありません。

于 2012-05-28T17:30:59.943 に答える