📜  MongoDB 中的 $substrCP(聚合)运算符

📅  最后修改于: 2022-05-13 01:56:58.307000             🧑  作者: Mango

MongoDB 中的 $substrCP(聚合)运算符

MongoDB 是一个 NOSQL 数据库,它经常被用于所有行业。 MongoDB 的流行在于有效的查询方式,快速检索数据,这有助于通过大数据分析获得更广泛的见解。现在我们将看到 $substrCP(聚合)运算符以及它在项目中的使用效率。

$substrCP运算符:用于从给定字符串查找子字符串。它使用代码点( Unicode代码空间)来提取子字符串。

句法 :

{ $substrCP: [ , ,  ] }


参数:

  • 您的字符串表达式:它是带有字母/字母数字和特殊字符的有效字符串表达式。或者换句话说,它是从中提取子字符串的有效字符串。
  • 码点索引:是一个数字(非负整数),表示子串的起始点
  • 代码点计数:非负整数(数字),它指定需要从代码点索引中获取的字符数。

例如: { $substrCP: [ “geeksforgeeks”, 0, 5 ] } 将输出为“geeks”,因为 0 被指定为起始位置,从那里需要提取 5 个字符,因此结果为“geeks”



示例 1:

在以下示例中,我们正在使用:

使用 $substrCP运算符查找文章的发布月份和发布年份:

现在,通过使用以下查询将“publishedon”列详细信息拆分为“publicationmonth”“publicationyear”来显示上述文章的输出:



db.articles.aggregate(

 [

   {

     $project: {

       articlename: 1,

       publicationmonth: { $substrCP: [ "$publishedon", 0, 4 ] },

       publicationyear: {

         $substrCP: [

           "$publishedon", 4, { $subtract: [ { $strLenCP: "$publishedon" }, 4 ] }

         ]

       }

     }

   }

 ]

)


这里, “publicationmonth”遵循直接语法,它选择“publishedon”列的前 4 个字符。在“publicationyear”中,取“publishedon”的其余字符。它使用“$subtract” ,它用于通过使用 $strLenCP 从字符串的长度中减去字节索引。

示例 2:

在以下示例中,我们正在使用:

使用 $substrCP运算符查找作者的名字和姓氏:

现在,通过使用以下查询将“name”列详细信息拆分为“firstname”“lastname”来显示上面的作者输出:

db.authors.aggregate(

 [

   {

     $project: {

       articlename: 1,

       firstname: { $substrCP: [ "$name", 0, 5 ] },

       lastname: {

         $substrCP: [

           "$name", 5, { $subtract: [ { $strLenCP: "$name" }, 3 ] }

         ]

       }

     }

   }

 ]

)


这里, “firstname”遵循直接语法,它选择“name”列的前 5 个字符。在“lastname”中,取“name”的其余字符。它使用“$subtract” ,它用于通过使用 $strLenCP 从字符串的长度中减去字节索引。