📅  最后修改于: 2023-12-03 15:17:41.413000             🧑  作者: Mango
在 MongoDB 数据库中,$cmp 运算符用于比较两个表达式并返回比较结果。它返回一个整数,表示两个表达式的相对顺序。
$cmp 运算符的语法如下:
{ $cmp: [ <expression1>, <expression2> ] }
<expression1>
: 要进行比较的第一个表达式。<expression2>
: 要进行比较的第二个表达式。假设我们有一个名为 users
的集合,其中包含了以下文档:
[
{ "name": "Alice", "age": 25 },
{ "name": "Bob", "age": 30 },
{ "name": "Charlie", "age": 35 }
]
为了演示 $cmp 运算符的使用,我们可以执行下面的 MongoDB 查询:
db.users.aggregate([
{
$project: {
name: 1,
ageDiff: { $cmp: [ "$age", 30 ] }
}
}
])
在上述例子中,我们使用了 $cmp
运算符来计算每个用户的年龄与 30 的比较结果,比较结果保存在 ageDiff
字段中。查询的结果将类似于以下文档:
[
{ "name": "Alice", "ageDiff": -1 },
{ "name": "Bob", "ageDiff": 0 },
{ "name": "Charlie", "ageDiff": 1 }
]
从上述结果中可以看出:
$cmp
运算符仅适用于数字类型的比较。如果要比较其他数据类型,可以使用 $eq
等其他比较运算符。null
或缺失,则 $cmp
运算符将返回 null
。$cond
)或聚合管道的后续阶段。更多关于 $cmp
运算符的详细信息,请参考 MongoDB 官方文档:Comparison/$cmp