javascript - Sequelize 和嵌套结果?

标签 javascript node.js sequelize.js

Sequelize 允许数据关系,但我似乎看不到是否有办法让它返回由关系组成的查询结果?我可以将其作为两个查询来执行,但我很好奇 Sequelize 是否提供此功能?例如播放列表和播放列表条目:

    Playlist: sequelize.define('playlist', {
        name: Sequelize.STRING,
        description: Sequelize.STRING
    }),     

    PlaylistEntry: sequelize.define('playlist_entry', {
        playlist: Sequelize.INTEGER
        //track: Sequelize.INTEGER
    })

    PlaylistEntry.belongsTo(
     Playlist,
     { as: 'Playlist', foreignKey: { name: 'fk_playlist' }});

我希望得到的(伪代码):

查询:

Playlist.find(where: {id: playlistId}, nestedResult: true);

结果:

[{
   id: 123,
   name: 'abc'
   playlistEntries: [{
      id: 321,
      track: 431
   }]
}]

最佳答案

Playlist.find({
  where: {}, 
  include: [
    {model: PlaylistEntry} //this should be PlaylistEntry model
  ]
})

http://docs.sequelizejs.com/en/latest/docs/models-usage/#eager-loading

关于javascript - Sequelize 和嵌套结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37122909/

相关文章:

node.js - 如何使用sequelize中的两列之间获取数据

javascript - 添加 Javascript 数组到表单输入

javascript - 根据字符数突出显示子文本

javascript - 在 Python 中抓取动态内容

Javascript 更改 IMG 不起作用

javascript - 以编程方式将文件上传到 ownCloud 服务器

sequelize.js - 在 Sequelize 中选择列值从多个值之一开始的位置

node.js - 无法访问react和非node js后端(apache)服务器应用程序中的进程对象

css - 为什么 minify CSS 的 gulp-clean-css 任务输出是空文件?

node.js - 更新 Sequelize 模型时,失败并返回与我提供的不同的表名?