文档中心
v3.4

SequoiaDB 简介

安装部署

数据库实例

分布式引擎

SAC 管控中心

参考手册

常见问题及解答(FAQ)

版本信息

$strlen

语法

{<字段名>: {$strlen: 1}}

说明

v3.4.4 及以上版本中,$strlen 已更名为 $strlenBytes

$strlen 用于获取指定字段的字节数。当字段类型为字符串时,将按 UTF-8 编码规则返回对应字节数;当字段类型为非字符串时,将返回 null。

示例

在集合 sample.employee 插入如下记录:

> db.sample.employee.insert({_id: 1, "a": "12345"})
> db.sample.employee.insert({_id: 2, "a": "一二三四五"})
> db.sample.employee.insert({_id: 3, "a": "一二三45"})
> db.sample.employee.insert({_id: 4, "a": ["12345", "一二三四五", "一二三45"]})
  • 作为选择符使用,返回字段 a 的字节数

    > db.sample.employee.find({}, {"a": {"$strlen": 1}})
    {
        "_id": 1,
        "a": 5
    }
    {
        "_id": 2,
        "a": 15
    }
    {
        "_id": 3,
        "a": 11
    }
    {
        "_id": 4,
        "a": [
          5,
          15,
          11
        ]
    }
    Return 4 row(s).
  • 配合匹配符使用,返回集合中字段 a 的字节数为 15 的记录

    > db.sample.employee.find({"a": {"$strlen": 1, "$et": 15}})
    {
        "_id": 2,
        "a": "一二三四五"
    }
    {
        "_id": 4,
        "a": [
          "12345",
          "一二三四五",
          "一二三45"
        ]
    }
    Return 2 row(s).

    Note:

    {$strlen: 1} 中 1 没有特殊含义,仅作为占位符出现。

回到顶部