所以我有一系列ID:
var myIDs = [1,5,9]
;
我有一个我想搜索的集合,并从中获取。我以为我可以做以下事情:
var searchResults = myCollection.where({"uID" : myIDs});
当然这不起作用,但必须有办法实现类似的东西。
获得所选模型后,计划是编辑内容,然后保存。我是否正确假设我可以通过执行以下操作来保存整批产品?
myCollection.reset(searchResults);
显然,对于Backbone,我总计n00b。
答案 0 :(得分:2)
您可以使用Collection.filter
将每个项目与数组进行比较:
var searchResults = myCollection.filter(function(model) {
return myIDs.indexOf(model.id) != -1;
});
(“Where”就像“filter”的特例,带有特定的迭代器 - 它将每个模型的属性与您提供的哈希集进行比较。)
至于保存,如果您的意思是替换集合中的项目,那么是的,您可以使用reset
。 (请注意,Backbone术语中的“保存”通常意味着将模型更新同步回服务器。)