如何在关联表Sequelize js中获取自定义字段

Posted

技术标签:

【中文标题】如何在关联表Sequelize js中获取自定义字段【英文标题】:How to get custom fields in association table Sequelize js 【发布时间】:2014-01-05 22:51:58 【问题描述】:

“我想获取包含表的一些属性而不是使用*,我现在的代码是这样的。

module.exports = function(app)
    app.get('/post', function(req, res)
        model.Post.findAll(
             attributes: ["body", "id"],
            include: [model.User]).success(function(rows)
                    res.json(rows);
            

        );


    );

这很好用,但是查询得到了一些我真的不需要的数据(密码、出生、电子邮件)我怎样才能只得到,例如包含表 User 的用户名和头像?

【问题讨论】:

【参考方案1】:

您应该能够通过 attributes 属性指定您想要返回的内容。我不确定你的架构是什么样的,所以我可能需要看起来有点不同,但这是我的最佳猜测:

// If password, birth, and email are nested in the body:
 attributes: ["body.username", "body.avatar", "id"],
...

应该可以。如果没有,请发布您的架构。

【讨论】:

你的意思是 attributes: ["body", ["username", "avatar"], "id"], ... 我不确定我的语法是否正确,但你有它,它将返回bodyid,并将username 属性重命名为avatar。跨度> 我唯一知道的是你答案中的代码在第二个冒号处有语法错误。 抱歉,您的回答仍然不正确。正确答案在这里:***.com/a/21907320/601466

以上是关于如何在关联表Sequelize js中获取自定义字段的主要内容,如果未能解决你的问题,请参考以下文章

Sequelize - 如何从一个表中获取未被另一表关联的条目

sequelize (js) 关联多个列与一个表

Sequelize js如何获取关联模型的平均值(聚合)

sequelize include,连接两个关联表

查询联结表而不在 Sequelize 中获取两个关联

如何在 node.js 中使用 sequelize-npm 实现与连接表的一对多关系