ドキュメントが不明確で、自分で答えを見つけることができませんでした。backbone.js fetch() オーバーライドでデータ パラメータを使用すると、remove: false もオーバーライドされるのではないかと考えています。初期ロード時にコレクションの一部をブートストラップしましたが、特定のページではコレクションのサブセットをフェッチする必要があり、コレクションに既に存在するモデルを上書きしないようにする必要があります。
this.fetch({
data: {
model: {user_id: user.get('id'), is_finished: 't'}
},
remove: false,
success: function(collection, response, options) {
console.log(collection);
console.log(options);
},
error: function(collection, response, options) {
//oh noes
}
});
コンソールのオプションには、削除された以前のモデルがすべて表示され、成功すると、データに一致するモデルのみがコレクションに残ります。私には remove: false が無視されているように思えます。data パラメータと remove: false を指定せずに同じフェッチをテストしたところ、適切に機能しました。