Sequelize 是一个基于 Node.js 的 ORM(对象关系映射)框架,可以让我们用 JavaScript 对象的方式操作数据库。在使用 Sequelize 插入数据之前,我们需要先创建一个 Sequelize 模型(Model),用于定义数据表的结构和字段信息。
创建 Sequelize 模型
下面是一个简单的 Sequelize 模型例子,用于操作一个名为 users
的数据表:
// javascriptcn.com 代码示例 const { Sequelize, DataTypes } = require('sequelize'); const sequelize = new Sequelize('sqlite::memory:'); const User = sequelize.define('User', { firstName: { type: DataTypes.STRING, allowNull: false }, lastName: { type: DataTypes.STRING, allowNull: false } }); (async () => { await sequelize.sync({ force: true }); })();
上面的代码中,我们使用 sequelize.define()
方法创建了一个名为 User
的模型,并定义了两个字段 firstName
和 lastName
,它们的类型都是 DataTypes.STRING
,并且都不能为空。最后,我们使用 sequelize.sync()
方法将该模型与数据库同步,并强制删除已存在的数据表。
插入单条数据
使用 Sequelize 插入单条数据非常简单,只需要调用模型的 create()
方法即可。下面是一个插入一条新用户数据(firstName
为 "John",lastName
为 "Doe")的例子:
// javascriptcn.com 代码示例 User.create({ firstName: 'John', lastName: 'Doe' }) .then(user => { console.log(user.toJSON()); }) .catch(error => { console.error(error); });
在上面的代码中,我们调用了 User.create()
方法,并传入一个 JavaScript 对象作为参数,该对象的属性名对应数据表的字段名,属性值对应要插入的数据。该方法返回一个 Promise,可以使用 .then()
处理成功回调,或者使用 .catch()
处理失败回调。
如果插入数据成功,.then()
回调函数中将返回一个包含新增数据的 JavaScript 对象,我们可以使用 .toJSON()
方法将其转为 JSON 格式进行输出。
插入多条数据
如果需要一次性插入多条数据,也可以在 User.create()
方法中传入一个数组:
// javascriptcn.com 代码示例 User.create([ { firstName: 'Mike', lastName: 'Smith' }, { firstName: 'Lisa', lastName: 'Lee' } ]) .then(users => { console.log(users.map(u => u.toJSON())); }) .catch(error => { console.error(error); });
上面的代码中,我们同时插入两条新用户数据,并将返回的多个数据对象转为 JSON 格式进行输出。
总结
使用 Sequelize 插入数据非常方便,只需要调用模型的 create()
方法,传入一个 JavaScript 对象或者数组即可。同时,Sequelize 还提供了更多丰富的查询和更新操作,让我们可以更方便地操作数据库。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6536419a7d4982a6ebe3c22a