微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mysql-仅选择所选属性

我在执行以下操作时正在使用MySQL数据库

models.modelA.findAll({
            attributes: [
               ['modelA.id','id']
            ],
            raw: true,
            include:
                [
                    {
                        model: models.modelB,
                        required: true
                    }
                ]

        }).then(function (tenants) {

        });

尽管如此,我只选择了id,Sequelize也在从相关表中检索所有属性,因此我得到了{id,…这里的所有属性}.

我该如何预防?有时我只想选择2/3列,而Sequelize总是选择所有这些列,但效率不高.

解决方法:

您可以执行以下操作

models.modelA.findAll({
        attributes: [
           'id'
        ],
        raw: true,
        include:
            [
                {
                    model: models.modelB,
                    attributes: ['fieldName1', 'fieldName2'], // Add column names here inside attributes array.
                    required: true
                }
            ]

    }).then(function (tenants) {

    });

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐