📅  最后修改于: 2023-12-03 15:20:06.092000             🧑  作者: Mango
Sequelize 是一个 Node.js 的 ORM 框架,它使得对关系型数据库的操作更加简单、方便。在使用 Sequelize 时,有时候只需要得到一个表中的某一列,本文将介绍如何在 Sequelize 中只得到一列的方法。
使用 SELECT 操作可以得到表中的指定列数据。在 Sequelize 中,可以通过以下方法实现 SELECT 操作:
Model.findAll({
attributes: ['column1', 'column2', ...]
});
其中,Model
表示数据表模型,在本例中需要替换为你自己的模型。attributes
数组表示要查询的列,可以填写多个列名。
例如,如果要查询 user
表中的 name
列数据,可以这样操作:
const User = require('./models/user');
User.findAll({
attributes: ['name']
}).then(users => {
console.log(users);
});
这将只得到 user
表中的 name
列数据,输出结果类似于:
[ { name: 'Tom' }, { name: 'John' }, { name: 'Mary' } ]
另一种方法是使用 RAW 查询。在 Sequelize 中,可以通过 sequelize.query()
方法执行 RAW 查询。以下是一个例子:
const { Op } = require('sequelize');
const User = require('./models/user');
User.sequelize.query('SELECT name FROM user', {
type: User.sequelize.QueryTypes.SELECT
}).then(users => {
console.log(users);
});
这将返回 user
表中的 name
列数据,输出结果类似于:
[ { name: 'Tom' }, { name: 'John' }, { name: 'Mary' } ]
需要注意的是,在 RAW 查询中需要使用表名,而非模型名称。
使用 Sequelize 只得到一列数据可以通过 SELECT 操作或 RAW 查询实现。我们可以根据具体的需求来选择使用哪种方法。