Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Sequelize有许多属性删除旧引用_Javascript_Sql_Node.js_Postgresql_Sequelize.js - Fatal编程技术网

Javascript Sequelize有许多属性删除旧引用

Javascript Sequelize有许多属性删除旧引用,javascript,sql,node.js,postgresql,sequelize.js,Javascript,Sql,Node.js,Postgresql,Sequelize.js,我遇到了一个问题,即在创建新实例时,旧引用被删除。我将展示我的代码并给出一个例子,我做错了什么 var Users=sequelize.define('Users'{ 身份证:{ 类型:DataTypes.INTEGER, 自动递增:真, primaryKey:对 }, 名称:DataTypes.STRING, 电子邮件:DataTypes.STRING }, { 分类方法:{ 助理:职能(模型){ hasMany(models.Interest,{as:'Interest'}); } } }

我遇到了一个问题,即在创建新实例时,旧引用被删除。我将展示我的代码并给出一个例子,我做错了什么


var Users=sequelize.define('Users'{
身份证:{
类型:DataTypes.INTEGER,
自动递增:真,
primaryKey:对
},
名称:DataTypes.STRING,
电子邮件:DataTypes.STRING
},
{
分类方法:{
助理:职能(模型){
hasMany(models.Interest,{as:'Interest'});
}
}
}
);

var Interest=sequelize.define('Interest'){
类别:DataTypes.STRING,
值:DataTypes.STRING
}, {
分类方法:{
助理:职能(模型){
Interest.belongtomany(models.Users,{通过:'UsersInterest'});
}
}
});

首先,我独自创造一种兴趣

models.Interest.create({
value:data.value,
类别:data.category
}).then(功能(新兴趣){
//好极了
});

` //数据保存实例所需的信息

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() {
          }
        });
      });
    }
  });
models.Users.create({
name:data.name,
电子邮件:data.email
}).then(函数(新用户){
//数据兴趣包含要查找和添加的兴趣
对于(var i=0;i
` 当我创建第一个时,一切都很好,请看:


{“用户”:{“id”:1,“姓名”:“Chelo”,“电子邮件”:”chelo@intelli.com,“兴趣”:[{“价值”:“风筝冲浪”,“类别”:“运动”}]}

到现在为止,在我添加第二个之后,一切都很好


{“用户”:{“id”:1,“姓名”:“Chelo”,“电子邮件”:”chelo@intelli.com“,“利益”:[]}
{“用户”:{“id”:2,“姓名”:“CACA Cavazzoli”,电子邮件::”chelo@intelli.com,“兴趣”:[{“价值”:“风筝冲浪”,“类别”:“运动”}]}}

当我创建具有相同兴趣的第二个实例时,第一个实例中的兴趣将被删除

我做错了什么


请帮忙!!!

我确实做错了什么。谢谢@LT-的评论。 我将给出我更改的正确代码:

var Users=sequelize.define('Users'){
身份证:{
类型:DataTypes.INTEGER,
自动递增:真,
primaryKey:对
},
名称:DataTypes.STRING,
电子邮件:DataTypes.STRING
},
{
分类方法:{
助理:职能(模型){
Users.belongtomany(models.Interest,{as:'interests',to:'UsersInterest'});
}
}
}
);

基本上,我在双方、用户和兴趣上都添加了belongtomany


希望能有所帮助。

我确实做错了什么。谢谢@LT-的评论。 我将给出我更改的正确代码:

var Users=sequelize.define('Users'){
身份证:{
类型:DataTypes.INTEGER,
自动递增:真,
primaryKey:对
},
名称:DataTypes.STRING,
电子邮件:DataTypes.STRING
},
{
分类方法:{
助理:职能(模型){
Users.belongtomany(models.Interest,{as:'interests',to:'UsersInterest'});
}
}
}
);

基本上,我在双方、用户和兴趣上都添加了belongtomany


希望有帮助。

如果你想做多对多。你需要在用户模型上做这件事,而不是在
有许多
Users.belongTomany(models.Interest,{通过:'UsersInterest'});
@LT-谢谢!!将尝试它,如果它有效,你可以写它作为一个答案来赢得声誉。如果你试图做多对多。你需要在用户模型上这样做,而不是在
有许多
用户。belongTomany(models.Interest,{通过:'UsersInterest'})
@LT-谢谢!!我会试试看,如果有用的话,你可以把它写下来作为赢得声誉的答案。