文档中心
v3.4

SequoiaDB 简介

安装部署

数据库实例

分布式引擎

SAC 管控中心

参考手册

常见问题及解答(FAQ)

版本信息

$strlenCP

语法

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

说明

$strlenCP 用于获取指定字段的字符数,即代码点的数量。当字段类型为字符串时,将按 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": {"$strlenCP": 1}})
    {
        "_id": 1,
        "a": 5
    }
    {
        "_id": 2,
        "a": 5
    }
    {
        "_id": 3,
        "a": 5
    }
    {
        "_id": 4,
        "a": [
          5,
          5,
          5
        ]
    }
    Return 4 row(s).
  • 配合匹配符使用,返回集合中字段 a 的字符数为 5 的记录

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

    Note:

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

回到顶部