# AggregateCommand.cmp(value: Expression[]): Object
聚合操作符。给定两个值,返回其比较值:
# 参数
# value: Expression[]
[<expression1>, <expression2>]
# 返回值
# Object
# API 说明
如果第一个值小于第二个值,返回 -1 如果第一个值大于第二个值,返回 1 如果两个值相等,返回 0
语法如下:
db.command.aggregate.cmp([<expression1>, <expression2>])
# 示例代码
假设集合 price
有如下记录:
{ "_id": 1, "shop1": 10, "shop2": 100 }
{ "_id": 2, "shop1": 80, "shop2": 20 }
{ "_id": 3, "shop1": 50, "shop2": 50 }
求 shop1
和 shop2
的各个物品的价格对比。
const $ = db.command.aggregate
db.collection('price').aggregate()
.project({
compare: $.cmp(['$shop1', '$shop2']))
})
.end()
返回结果如下:
{ "_id": 1, "compare": -1 }
{ "_id": 2, "compare": 1 }
{ "_id": 3, "compare": 0 }