MongoDB聚合运算符:$substr

MongoDB聚合运算符:$substr


$substr聚合运算符返回字符串的子串,子串是从指定索引位置开始并包含指定数量的字符,索引是从零开始。自3.4版本起 $substr已弃用,目前 $substr相当于是 $substrBytes的别名。

语法

{ $substr: [ <string>, <start>, <length> ] }

第一个参数为字符串表达式,第二和第三个参数为整数表达式。

使用

  • 如果<start>为负数,$substr返回空字符串""
  • 如果<length>为负数,$substr返回从指定索引开始并包含字符串其余部分的子串。
  • $substr只针对ASSII字符串的操作是明确的,其他编码的字符串要注意其适用性。

举例

inventory集合有下列文档:

{ "_id" : 1, "item" : "ABC1", "quarter": "13Q1", "description" : "product 1" }
{ "_id" : 2, "item" : "ABC2", "quarter": "13Q4", "description" : "product 2" }
{ "_id" : 3, "item" : "XYZ1", "quarter": "14Q2", "description" : null }

下面的聚合操作使用 $substr 运算符将quarter字段拆分拆分为yearSubstringquarterSubstrin字段:

db.inventory.aggregate(
   [
     {
       $project:
          {
            item: 1,
            yearSubstring: { $substr: [ "$quarter", 0, 2 ] },
            quarterSubtring: { $substr: [ "$quarter", 2, -1 ] }
          }
      }
   ]
)

操作返回下面的结果:

{ "_id" : 1, "item" : "ABC1", "yearSubstring" : "13", "quarterSubtring" : "Q1" }
{ "_id" : 2, "item" : "ABC2", "yearSubstring" : "13", "quarterSubtring" : "Q4" }
{ "_id" : 3, "item" : "XYZ1", "yearSubstring" : "14", "quarterSubtring" : "Q2" }

相关推荐

  1. MongoDB聚合运算符:$substr

    2024-05-02 07:34:02       11 阅读
  2. MongoDB聚合运算符:$add

    2024-05-02 07:34:02       33 阅读
  3. MongoDB聚合运算符:$arrayToObject

    2024-05-02 07:34:02       25 阅读
  4. MongoDB聚合运算符;$dateToParts

    2024-05-02 07:34:02       26 阅读
  5. MongoDB聚合运算符:$dayOfWeek

    2024-05-02 07:34:02       27 阅读
  6. MongoDB聚合运算符:$dayOfMonth

    2024-05-02 07:34:02       26 阅读
  7. MongoDB聚合运算符;$dateToString

    2024-05-02 07:34:02       23 阅读
  8. MongoDB聚合运算符:$dayOfYear

    2024-05-02 07:34:02       23 阅读
  9. MongoDB聚合运算符:$denseRank

    2024-05-02 07:34:02       17 阅读
  10. MongoDB聚合运算符:$dateTrunc

    2024-05-02 07:34:02       25 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-02 07:34:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-02 07:34:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-02 07:34:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-02 07:34:02       18 阅读

热门阅读

  1. Stylus介绍

    2024-05-02 07:34:02       11 阅读
  2. Android学习系列目录

    2024-05-02 07:34:02       16 阅读
  3. OpenCV 开源的计算机视觉和机器学习软件库

    2024-05-02 07:34:02       12 阅读
  4. 【at89s52单片机的冒泡排序使用指针】2022-4-30

    2024-05-02 07:34:02       13 阅读
  5. 机器学习项目部署:从模型到生产环境

    2024-05-02 07:34:02       11 阅读
  6. 【设计模式】之单例模式

    2024-05-02 07:34:02       12 阅读
  7. PostgreSQL的pg_config工具

    2024-05-02 07:34:02       9 阅读