文档中心
v3.4

SequoiaDB 简介

安装部署

数据库实例

分布式引擎

SAC 管控中心

参考手册

常见问题及解答(FAQ)

版本信息

函数操作

函数操作可以对字段进行函数运算。当指定多个函数操作时,支持流水线式处理,多个函数流水线执行。该操作符可以作为选择符使用,也可以搭配匹配符使用,以实现更复杂的查询操作。

  • 作为选择符使用,对查询结果进行函数运算

    查询集合 sample.employee 中的记录,并删除字段 a 取值两侧的空格,再将其转换为大写

    > db.sample.employee.find({},{a:{$trim:1, $upper:1}})
  • 搭配匹配符使用,先对字段值进行函数运算,再将运算结果作为匹配条件进行查询

    查询集合 sample.employee 中字段 a 字节数为 3 的记录

    > db.sample.employee.find({a:{$strlen:1, $et:3}})

Note

当字段类型为数组时,函数将对数组中的每个元素进行函数运算。

所支持的函数操作如下:

函数 描述 示例
$abs 取绝对值 db.sample.employee.find({}, {a:{$abs:1}})
$ceiling 向上取整 db.sample.employee.find({}, {a:{$ceiling:1}})
$floor 向下取整 db.sample.employee.find({}, {a:{$floor:1}})
$mod 取模运算 db.sample.employee.find({}, {a:{$mod:1}})
$add 加法运算 db.sample.employee.find({}, {a:{$add:10}})
$subtract 减法运算 db.sample.employee.find({}, {a:{$subtract:10}})
$multiply 乘法运算 db.sample.employee.find({}, {a:{$multiply:10}})
$divide 除法运算 db.sample.employee.find({}, {a:{$divide:10}})
$substr 截取子串 db.sample.employee.find({}, {a:{$substr:[0,4]}})
$strlen 获取指定字段的字节数 db.sample.employee.find({}, {a:{$strlen:10}})
$strlenBytes 获取指定字段的字节数 db.sample.employee.find({}, {a:{$strlenBytes:10}})
$strlenCP 获取指定字段的字符数 db.sample.employee.find({}, {a:{$strlenCP:10}})
$lower 字符串转为小写 db.sample.employee.find({}, {a:{$lower:1}})
$upper 字符串转为大写 db.sample.employee.find({}, {a:{$upper:1}})
$ltrim 去除左侧空格 db.sample.employee.find({}, {a:{$ltrim:1}})
$rtrim 去除右侧空格 db.sample.employee.find({}, {a:{$rtrim:1}})
$trim 去除左右两侧空格 db.sample.employee.find({}, {a:{$trim:1}})
$cast 转换字段类型 db.sample.employee.find({}, {a:{$cast:"int32"}})
$size 获取数组元素个数 db.sample.employee.find({}, {a:{$size:1}})
$type 获取字段类型 db.sample.employee.find({}, {a:{$type:1}})
$slice 截取数组元素 db.sample.employee.find({}, {a:{$slice:[0,2]}})
回到顶部