node.js - Sequelize 关联返回 Sequelize 实例而不是对象

标签 node.js sequelize.js

我正在使用 Sequlizejs 2.0.0-rc4。

我有两个实体: Feeds (包含 owner_id 字段)和 Owners 。基本上, FeedsOwners 之间存在一对多的关系——一个 Owner 有很多 Feeds

我尝试过多种不同的建模方式,但唯一正确的方法是:

Owner.hasMany(Feed, {foreignKey: 'owner_id'});
Feed.belongsTo(Owner, {foreignKey: 'owner_id'});

唯一的问题是当我尝试像这样获取 Feed 时:
models.feeds.findAll({
    include: [models.owners]
}).then(function (feeds) {
   // feeds will contain a SequlizeInstance object
});

然后结果将包含一个 SequlizeInstance 对象而不是一个 Owner 对象,然后我必须通过类似 feeds.owners.dataValues 的东西访问它。

这里有什么问题?

最佳答案

这里没有问题:)。 Sequelize 返回 sequelize 实例,因为它们允许您执行所有可爱的 sequelize 内容,例如 feed.owner.updateAttributes({.. })

如果你想要来自所有者对象的普通值,你应该调用 get toJSON

关于node.js - Sequelize 关联返回 Sequelize 实例而不是对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27768413/

相关文章:

node.js - 如何使用 sequelize 执行此请求?

Linux Ubuntu 14.04 在 1 台机器 1 个 ip 上的 2 个不同的 Web 服务器上运行 2 个网站

node.js - 构建期间 NODE_ENV 的解决方法

c# - 带有事件名称的 NetworkStream write()

node.js - 在解决 promise 时如何保持 node.js 脚本处于事件状态?

node.js - 保存关联对象时如何避免嵌套?

javascript - 来自 Sequelize 的 findAll() 没有得到

javascript - node.js - 在 js 查询字符串中使用 SQL 变量

javascript - 如何将两个更新请求合并为一个?

node.js - 请求 .org 域时 Node http 模块出错