MongoDB $strcasecmp 运算符
MongoDB 提供了不同类型的字符串表达式运算符,用于聚合管道阶段$ strcasecmp运算符就是其中之一。该运算符用于对两个字符串进行不区分大小写的比较,并根据条件返回如下结果:
- 如果第一个字符串大于第二个字符串,则此运算符将返回1 。
- 如果第一个字符串小于第二个字符串,则此运算符将返回-1 。
- 如果两个字符串相等,则此运算符将返回0 。
句法:
{ $strcasecmp: [ , ] }
在这里,在此运算符传递的参数可以是任何有效的表达式,直到它们解析为字符串 。
例子:
在以下示例中,我们正在使用:
Database: GeeksforGeeks
Collection: employee
Document: three documents that contain the details of the employees in the form of field-value pairs.
使用 $strcasecmp 运算符:
在此示例中,我们将使用 $strcasecmp运算符将员工集合中所有文档的部门字段值与“development”字符串进行比较。
db.employee.aggregate([
... {$project: {"name.first": 1, _id: 0, result:
... {$strcasecmp: ["$department", "development"]}}}])
在嵌入式文档中使用 $strcasecmp 运算符:
在此示例中,我们将使用 $strcasecmp运算符将员工集合中所有文档的 name.first 字段的值与“Sunita”字符串进行比较。
db.employee.aggregate([
... {$project: {result: {$strcasecmp: ["$name.first", "Sunita"]}}}])