Sequelize 如何使用 JSONB 数据类型
在现代应用程序中,存储和操作复杂数据结构是一个普遍需求。JSONB 数据类型被广泛用于在关系型数据库中存储复杂的 JSON 数据。Sequelize 是一个 Node.js ORM 框架,它可以用于操作 PostgreSQL 和 MySQL 等关系型数据库。本文将介绍如何使用 Sequelzie 中的 JSONB 数据类型。
- 创建 JSONB 类型的列
在 Sequelize 中定义一个 JSONB 列,需要使用 Sequeilze.DataTypes.JSONB。
const User = sequelize.define('user', { name: DataTypes.STRING, info: DataTypes.JSONB });
此定义将在数据库中创建一个名为 info 的 JSONB 列。
- 插入 JSONB 值
要在 JSONB 列中插入 JSON 数据,只需传递一个 JSON 对象即可。
User.create({ name: 'Alice', info: { age: 25, gender: 'female', interests: ['music', 'movies'] } });
这将在数据库中创建一条记录,其中 info 字段包含一个 JSON 对象。
- 查询 JSONB 值
要查询 JSONB 列中的值,需要使用 Sequelize.Op 包中的操作符。
User.findAll({ where: { info: { [Op.contains]: { interests: 'music' } } } });
此查询会返回包含 "music" 兴趣的所有记录。
- 更新 JSONB 值
要更新 JSONB 列中的值,可以使用类似于普通属性的语法。
user.info.interests.push('reading'); user.save();
以上代码将添加一个新兴趣到 JSONB 列中的兴趣数组中,然后保存该记录。
- 删除 JSONB 值
要从 JSONB 列中删除值,可以使用类似于普通属性的语法。
user.info = null; user.save();
以上代码将从 JSONB 列中删除 info 对象。
总结
JSONB 数据类型在现代应用程序中使用非常广泛。Sequelize 中的 JSONB 类型支持插入、查询、更新和删除 JSON 数据。希望以上介绍可以帮助您更好地使用 Sequelize 中的 JSONB 数据类型。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/653229037d4982a6eb46eb3c