Sequelize HasMany BelongsToMany删除旧引用
Sequelize HasMany BelongsToMany removes old reference
我遇到了一个问题,在创建新实例时,旧引用会被删除。我将展示我的代码并举一个例子,我做错了什么?
var Users = sequelize.define('Users', {
id: {
type: DataTypes.INTEGER,
autoIncrement: true,
primaryKey: true
},
name: DataTypes.STRING,
email: DataTypes.STRING
},
{
classMethods: {
associate: function(models) {
Users.hasMany(models.Interest,{ as: 'interests'});
}
}
}
);
var Interest = sequelize.define('Interest', {
category: DataTypes.STRING,
value: DataTypes.STRING
}, {
classMethods: {
associate: function(models) {
Interest.belongsToMany(models.Users, {through: 'UsersInterest'});
}
}
});
首先,我创建了一个单独的兴趣
models.Interest.create({
value: data.value,
category: data.category
}).then(function(newInterest) {
//allgood
});
`//数据包含实例需要的信息
models.Users.create({
name: data.name,
email: data.email
}).then(function(newUser) {
//data interest contains the interest to find and add
for (var i = 0; i < data.interests.length; i++) {
models.Interest.findOne({
where: { value: data.interests[i].value, category: data.interests[i].category},
}).then(function(interest) {
newUser.addInterest(interest).then(function() {
}
});
});
}
});
`当我创建第一个时,一切都很好,看:
{"user":{"id":1,"name":"Chelo","email":"chelo@intelli.com","interests":[{"value":"kitesurf","category":"sport"}]}}
直到现在,一切都很好,在我加上第二个之后。。
{"user":{"id":1,"name":"Chelo","email":"chelo@intelli.com","interests":[]}}
{"user":{"id":2,"name":"CACA Cavazzoli",email":"chelo@intelli.com","interests":[{"value":"kitesurf","category":"sport"}]}}]}
当我创建具有相同兴趣的第二个实例时,第一个实例中的兴趣将被删除。。。
我做错了什么?
请帮忙!!!
确实我做错了什么。感谢@LT-的评论。我会给出我更改的正确代码:
var Users = sequelize.define('Users', {
id: {
type: DataTypes.INTEGER,
autoIncrement: true,
primaryKey: true
},
name: DataTypes.STRING,
email: DataTypes.STRING
},
{
classMethods: {
associate: function(models) {
Users.belongsToMany(models.Interest,{ as: 'interests', through: 'UsersInterest'});
}
}
}
);
基本上,我在双方、用户和兴趣上都添加了belongToMany。
希望能有所帮助。
- Sequelize HasMany BelongsToMany删除旧引用
- 如何通过引用(javascript)从数组中删除对象
- 按对象的 ID 删除对选定对象的对象引用
- 从数组中删除不会更新变量内的引用
- 如何使用 ExtendScript 从 InDesign 文档的所有脚注引用中删除斜体和粗体样式
- 从调试中删除引用文件
- 根据对元素的变量引用从 DOM 中删除该元素
- 如何通过按 id 注册但未在任何 DOM 节点中引用来删除 dojo 小部件
- ASP:在两个ScriptManager之间切换.或者如何删除脚本引用
- IE9无法获取属性'删除'的未定义引用或null引用
- 将事件函数绑定到类,但要使用removeEventListener并删除引用,这样garbagecollector才能正
- 如何使用Babel删除未使用的自引用绑定
- 强制typescript不要删除未使用的引用
- 通过函数引用删除函数中的所有事件侦听器
- 如何在不引用处理程序函数的情况下删除事件处理程序
- 删除Mongo文档及其所有引用
- 如何正确地取消引用,然后删除一个JavaScript对象
- 在自定义上下文提供程序中删除带有引用的实体
- 如何通过引用另一个数组来删除数组值
- mongoose.js:我如何从引用的子数组中删除一个属性,同时使用填充和使用其中一个子数组字段作为过滤器