我有一个本地骨干集合:
var collection = new Backbone.Collection([ { greeting: "hi" }, { greeting: "bye" } ]);
我知道当我运行时collection.fetch
,Backbone 会collection.set
根据结果运行。但是,我需要合并来自服务器的响应。说响应是:
[ { id: "2", greeting: "hi", name: "Bob" } ]
我希望合并后的结果集合为:
[ { id: "2", greeting: "hi", name: "Bob" }, { greeting: "bye" } ]
我知道 Backbone 已经尝试在这里进行一些合并,但是如果我set
上面的示例响应,则不会发生合并,而是添加了一个新模型。我认为这是因为它由 合并id
,而这里我们没有任何id
s(在本地集合中)。在这种情况下,greeting
是我的唯一标识符/密钥。
我尝试这样做的原因是因为我有一个本地集合,我只是想查看该集合中已经存在的内容(使用 key greeting
)并合并任何发现。