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

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

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

参数

value: Expression[]

[<expression1>, <expression2>]

返回值

Object

API 说明

如果第一个值小于第二个值,返回 -1 如果第一个值大于第二个值,返回 1 如果两个值相等,返回 0

语法如下:

  1. db.command.aggregate.cmp([<expression1>, <expression2>])

示例代码

假设集合 price 有如下记录:

  1. { "_id": 1, "shop1": 10, "shop2": 100 }
  2. { "_id": 2, "shop1": 80, "shop2": 20 }
  3. { "_id": 3, "shop1": 50, "shop2": 50 }

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

  1. const $ = db.command.aggregate
  2. db.collection('price').aggregate()
  3. .project({
  4. compare: $.cmp(['$shop1', '$shop2']))
  5. })
  6. .end()

返回结果如下:

  1. { "_id": 1, "compare": -1 }
  2. { "_id": 2, "compare": 1 }
  3. { "_id": 3, "compare": 0 }