以两种方式从查询(带有sequelize)填充数据?

时间:2017-06-05 18:36:47

标签: javascript node.js postgresql sequelize.js

我开始使用sequelize(我很高兴),但我仍然没有得到如何使用字段"人口" (这个词来自mongo,我很抱歉:()

这是我的模型定义:

module.exports = function(sequelize, DataTypes) {
  var User = sequelize.define('User', {
    email: { type: Sequelize.STRING },
    firstName: { type: Sequelize.STRING },
    lastName: { type: Sequelize.STRING },
  }, {
    classMethods: {
      associate: function(models) {
        User.hasMany(models.Experience, {as: 'createdExperiences'})
      }
    }
  });

  User.sync({force: false}).then(() => {});

  return User;
};

和另一个:

module.exports = function(sequelize, DataTypes) {
  var Plan = sequelize.define('Plan', {
    title: { type: Sequelize.STRING },
  }, {
    classMethods: {
      associate: (models) => {

      }
    }
  });

  Plan.sync().then(function () {
    // Table created
  });

  return Plan;
};

我正在添加这样的经历:

UserInstance.addCreatedExperience(experience);

哪个效果很好。我可以获得用户并包含Plan这样的内容:

User.findAll({include: [{model:Plan, as:'createdExperiences'}]}).then(function(users) {
});

然后用户将Plan包含在他们的对象中。

问题在于我无法以其他方式开展工作。如果我获得了这些经验,我怎样才能让用户填充这些对象?

可能这是模型定义的问题。

有人能帮助我吗?

谢谢!

0 个答案:

没有答案