Sequelize 是一个使用 Node.js 实现的关系型数据库 ORM(Object Relational Mapping) 工具,能够方便地操作 MySQL、PostgreSQL、SQLite和 Microsoft SQL Server 等各种数据库。在使用它进行查询时,我们常常需要用到查询表达式操作符,下面我们就来详细了解一下这些操作符。
查询表达式操作符
Sequelize 支持某些操作符用于查询时的条件组合,这些操作符以下都是针对 find
以及 findAll
等查询操作的。
Op.and 和 Op.or
Op.and
与 Op.or
目前是最为常用的两种操作符。它们分别用于组合与条件和或条件。
-- -------------------- ---- ------- ----- - -- - - --------------------- -- -- ----- -- -------- - ---- -- --- -- -- --- ----- ------- - ----- -------------- ------ - --------- - - --------- ------ -- - ---- - --------- -- - - - - --- -- -- ----- -- -------- - ---- -- --- -- -- --- ----- ------- - ----- -------------- ------ - -------- - - --------- ------ -- - ---- - --------- -- - - - - ---
Op.eq、Op.ne、Op.gt、Op.gte、Op.lt 和 Op.lte
这些操作符分别代表相等、不等于、大于、大于等于、小于、小于等于。使用这些操作符需要注意,我们将所有的操作符都及其相应的值传递给 where
对象中。
-- -------------------- ---- ------- -- -- ----- -- --- -- -- --- ----- ------- - ----- -------------- ------ - ---- - -------- -- - - --- -- -- ----- -- --- --- -- --- ----- ------- - ----- -------------- ------ - ---- - -------- -- - - --- -- -- ----- -- --- ---- -- --- ----- ------- - ----- -------------- ------ - ---- - --------- -- - - --- -- -- ----- -- --- -- -- --- ----- ------- - ----- -------------- ------ - ---- - -------- -- - - ---
Op.in 和 Op.notIn
Op.in
和 Op.notIn
分别代表在给定数组中出现和不出现。使用这些操作符,我们需要将给定数组传递给相应的操作符中。
-- -------------------- ---- ------- -- -- ----- -- --- - --- --- -- --- ----- ------- - ----- -------------- ------ - ---- - -------- ---- --- --- - - --- -- -- ----- -- --- -- --- --- -- ---- ----- ------- - ----- -------------- ------ - ---- - ----------- ---- --- --- - - ---
Op.between
Op.between
代表值在给定范围内。使用这个操作符,我们需要传递一个包含两个元素的数组,代表给定范围的起止值。
// 查询 users 表中 age 在 18 和 30 之间的用户 const result = await User.findAll({ where: { age: { [Op.between]: [18, 30] } } });
Op.like 和 Op.notLike
Op.like
和 Op.notLike
这两个操作符分别代表模式匹配和模式不匹配,这里模式可以是任意字符串。
-- -------------------- ---- ------- -- -- ----- -- -------- - ---- ----- ----- ------- - ----- -------------- ------ - --------- - ---------- ----- - - --- -- -- ----- -- ----- -- ------- --- ----- ------- - ----- -------------- ------ - ------ - ---------- --------- - - --- -- -- ----- -- ----- --- --------- --- ----- ------- - ----- -------------- ------ - ------ - ------------- ----------- - - ---
Op.col
Op.col
可以用于引用关联表字段。
-- -------------------- ---- ------- ----- -------- - ---------------------------- - --- --- ----- ---- - ------------------------ - --- --- -- ---- ------------------------ - ----------- -------- --- ----- ------ - ----- ------------------ ------ ------------------------------------ ------------------------------- ------ -------------------- -------------------------------- ---
总结
Sequelize 中的查询表达式操作符是非常方便的,精准地完成我们的数据查询任务。本文讲述了它们最常见、最基本的使用方法。如果你对这个话题有深入的了解,并能熟练运用这些查询操作符,那么你在前端应用程序的开发过程中一定会事半功倍。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/653f788c7d4982a6eb90a09d