关于 Nodejs 的 mysql orm 映射 Sequelize 库的问题

发布于 1周前 作者 itying888 来自 nodejs/Nestjs

关于 Nodejs 的 mysql orm 映射 Sequelize 库的问题
let getjob = async (params) => {
let jobs = await Lagou.findAll({
where: {
city: params.city ,
education: params.education ,
keyword: params.keyword ,
}
});
for (let i of jobs) {
console.log(JSON.stringify(i));
}
};
let mobj = {
city: ‘深圳’, keyword: ‘java’, education:‘本科’
};
getjob(mobj);

假如用户有三个参数 city keyword education 可选,如何通过一个方法来实现,传 1-3 个参数得到相应的数据呢


3 回复

蛤?直接 where: {…params}


其实这个主要是你写法的问题。
另一个方法试试 or。

关于Node.js中使用Sequelize库进行MySQL ORM映射的问题,Sequelize是一个非常流行的Node.js ORM框架,它支持MySQL、PostgreSQL、SQLite和Microsoft SQL Server等多种数据库。以下是一些关于如何使用Sequelize的基本示例和解释。

首先,确保你已经安装了Sequelize和MySQL的Node.js驱动程序:

npm install sequelize mysql2

然后,你可以通过以下方式设置Sequelize并定义一个模型:

const { Sequelize, DataTypes, Model } = require('sequelize');
const sequelize = new Sequelize('database', 'username', 'password', {
  host: 'localhost',
  dialect: 'mysql'
});

class User extends Model {}

User.init({
  username: {
    type: DataTypes.STRING,
    allowNull: false
  },
  birthday: {
    type: DataTypes.DATE
  }
}, { sequelize, modelName: 'User' });

// 同步模型到数据库
sequelize.sync();

在上面的代码中,我们创建了一个Sequelize实例,并定义了一个User模型,其中包含username和birthday两个字段。sequelize.sync()方法会将这个模型同步到数据库中,如果数据库中没有相应的表,Sequelize会自动创建。

此外,Sequelize还支持丰富的查询、更新、删除操作,以及事务处理、关联关系等功能。你可以查阅Sequelize官方文档获取更多详细信息和示例。

希望这些信息能帮助你更好地理解和使用Sequelize进行MySQL ORM映射。

回到顶部