# AggregateCommand.cmp(value: Expression[]): Object

支持端:小程序 2.7.4, 云函数 0.8.1, Web

聚合操作符。给定两个值,返回其比较值:

# 参数

# 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 }

shop1shop2 的各个物品的价格对比。

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 }