Sequelize js'include'和'raw'

时间:2016-11-29 20:25:27

标签: javascript node.js sequelize.js

我和两个人之间有关系(每个胸部有一个用户)

entities.Chest.belongsTo(entities.User)

我想在一个查询中检索所有的箱子及其用户,所以我这样做

entities.Chest.findAll({include:[{model: entities.User}]})

但我更愿意将它们作为普通物体操纵,我做

entities.Chest.findAll({raw:true, include:[{model: entities.User}]})

结果根本不包括用户,我该如何实现?

2 个答案:

答案 0 :(得分:5)

如你所见,raw有一些连接问题(有一个issue) 尝试使用实例方法#toJSON

entities.Chest.findAll({include:[{model: entities.User}]})
  .then(function(chestsSeq){
    var chests = chestsSeq.toJSON(); //same as chestsSeq.get({});
    //do something with raw chests object
  });

答案 1 :(得分:3)

此语法对我有帮助。您无需重复记录。只需成对使用nest: trueraw: true

entities.Chest.findAll({
    raw:true,
    nest: true,
    include:[entities.User]
})