如何不删除主干中集合中的重复项
How to not remove duplicates in collection in backbone
我从服务器JSON创建主干集合。数据来自mongo,因此每个项目都有相同的对象,主干网会删除这些重复项。这对我来说是不必要的行为,所以,我找不到保留这些实例的解决方案。获取后,我的项目在secound对象(id:2(中只有"section1"。在第一个对象中我也需要相同的部分。例如,我的服务器响应是:
items: [{
id:1,
sections: [{
id: 1.//this object is removed
name: 'section1'
}]
}, {
id: 2,
sections: [{
id:1.
name: 'section1'
}]
}]
我的部门模型只是:
Section = Backbone.RelationalModel.extend({
});
物品型号:
Item = Backbone.RelationalModel.extend({
relations: [
{
'type': 'HasMany',
'key': 'sections',
'relatedModel': 'Section',
'includeInJSON': 'id',
'reverseRelation': {
'key': 'item',
'includeInJSON': 'id'
}
}
]
});
如果我没有记错的话,这个插件不支持多对多。因此,它将Section 1
附加到第一个Item
,然后将其附加到第二个,并从第一个移除。
事实上,从文件来看:
主干网。HasMany
定义HasMany关系定义reverseRelation时,类型将是HasOne。
您的选择:
- 创建一个
SectionItem
模型,即HasOne
Section
和HasOne
Item
。有人贴出了这种设置的小提琴http://jsfiddle.net/mmacaula/XaESG/2/ - 使用另一个库-或您使用的库的扩展,例如https://github.com/jj-studio/Backbone-JJRelational
- 向
Section
模型密钥添加一个属性,使每个密钥都是唯一的。不过,这不是实现你想要做的事情的好方法
这里有一个很好的参考答案:使用Backbone Relational 实现多对多关系
相关文章:
- 删除集合中旧邮件/帖子的最佳方式
- 删除“;列“;来自使用Lodash的集合
- 如何选择性地从主干集合和服务器中删除模型
- 如何使用文档的ID从mongoDB集合中删除文档
- TR标记需要从表集合中删除多个类
- 从集合中删除项目时,将其从视图中删除
- 在Meteor中删除Mongo数据库集合
- 使用for.of迭代时删除集合中的元素是否安全
- 未从具有 .splice(index, 1) 的集合中删除的元素
- 如何使用猫鼬从集合中删除所有文档
- ES6:在设置/映射迭代期间从集合/映射中删除元素是否危险
- 使用 app.delete [express.js] 删除 mongo 数据库中的集合
- 如何在更新时从 mongodb 集合中删除字段
- 保存或删除集合中的模型时,主干视图不会更新
- 复合视图在扩展主干集合时未收到“删除”事件
- 主干集合无法删除项目
- 模型不会从主干集合中删除
- 流星:如何在MongoDB中单击一下即可从两个集合中删除两个文档
- 使用模板事件侦听器删除 Meteor.js 集合时出现问题
- 主干.js:从集合中删除项目