MySQL在Sequelize (NodeJS)中指定特定字段而非使用*

MySQL在Sequelize (NodeJS)中指定特定字段而非使用*

在NodeJS开发中我们经常使用Sequelize操作MySQL数据库。当我们从数据库中取出数据时,默认情况下会返回包含所有字段的对象,但是有时候我们只需要特定的字段。那么在Sequelize中,我们应该如何指定特定的字段呢?

阅读更多:MySQL 教程

使用attributes方法指定特定字段

Sequelize提供了一个attributes方法,可以用来指定特定的字段。具体使用方法如下:

const User = sequelize.define('user', {
    id: {
        type: DataTypes.INTEGER,
        primaryKey: true,
        autoIncrement: true
    },
    name: {
        type: DataTypes.STRING(20),
        allowNull: false
    },
    age: {
        type: DataTypes.INTEGER,
        allowNull: false
    },
    email: {
        type: DataTypes.STRING(50),
        allowNull: false,
    }
});

User.findAll({
    attributes: ['name', 'email']
}).then(users => {
    console.log(users);
});
JavaScript

上述代码将会查询出所有用户的姓名和邮箱字段,并且在控制台输出。

使用exclude字段排除特定字段

除了可以使用attributes方法选择特定字段,我们还可以使用exclude字段来排除特定字段。具体使用方法如下:

User.findAll({
    attributes: { exclude: ['age', 'email'] }
}).then(users => {
    console.log(users);
});
JavaScript

上述代码将会查询出所有用户的姓名和ID,但是会排除所有用户的年龄和邮箱字段,并在控制台输出。

总结

通过以上两种方式,我们可以在Sequelize中指定特定字段而无需返回所有字段的对象,从而更加灵活地操作数据库。代码示例已经展示了如何指定字段,你可以根据实际需求来选择其中的一种方式进行操作。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册