SDK数据库 Command·聚合操作符·比较操作符

2022-05-12 17:01 更新

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 }

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

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

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

聚合操作符。匹配两个值,如果相等则返回 true,否则返回 false。

参数

value: Expression[]

[<value1>, <value2>]

返回值

Object

API 说明

语法如下:

db.command.aggregate.eq([<value1>, <value2>])

示例代码

假设集合 price 有如下记录:

{ "_id": 1, "value": 10 }
{ "_id": 2, "value": 80 }
{ "_id": 3, "value": 50 }

求 value 等于 50 的记录。

const $ = db.command.aggregate
db.collection('price').aggregate()
  .project({
    matched: $.eq(['$value', 50])
  })
  .end()

返回结果如下:

{ "_id": 1, "matched": false }
{ "_id": 2, "matched": false }
{ "_id": 3, "matched": true }

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

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

聚合操作符。匹配两个值,如果前者大于后者则返回 true,否则返回 false。

参数

value: Expression[]

[<value1>, <value2>]

返回值

Object

API 说明

语法如下:

db.command.aggregate.gt([<value1>, <value2>])

示例代码

假设集合 price 有如下记录:

{ "_id": 1, "value": 10 }
{ "_id": 2, "value": 80 }
{ "_id": 3, "value": 50 }

判断 value 是否大于 50。

const $ = db.command.aggregate
db.collection('price').aggregate()
  .project({
    matched: $.gt(['$value', 50])
  })
  .end()

返回结果如下:

{ "_id": 1, "matched": false }
{ "_id": 2, "matched": true }
{ "_id": 3, "matched": false }

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

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

聚合操作符。匹配两个值,如果前者大于或等于后者则返回 true,否则返回 false。

参数

value: Expression[]

[<value1>, <value2>]

返回值

Object

API 说明

语法如下:

db.command.aggregate.gte([<value1>, <value2>])

示例代码

假设集合 price 有如下记录:

{ "_id": 1, "value": 10 }
{ "_id": 2, "value": 80 }
{ "_id": 3, "value": 50 }

判断 value 是否大于或等于 50。

const $ = db.command.aggregate
db.collection('price').aggregate()
  .project({
    matched: $.gte(['$value', 50])
  })
  .end()

返回结果如下:

{ "_id": 1, "matched": false }
{ "_id": 2, "matched": true }
{ "_id": 3, "matched": true }

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

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

聚合操作符。匹配两个值,如果前者小于后者则返回 true,否则返回 false。

参数

value: Expression[]

[<value1>, <value2>]

返回值

Object

API 说明

语法如下:

db.command.aggregate.lt([<value1>, <value2>])

示例代码

假设集合 price 有如下记录:

{ "_id": 1, "value": 10 }
{ "_id": 2, "value": 80 }
{ "_id": 3, "value": 50 }

判断 value 是否小于 50。

const $ = db.command.aggregate
db.collection('price').aggregate()
  .project({
    matched: $.lt(['$value', 50])
  })
  .end()

返回结果如下:

{ "_id": 1, "matched": true }
{ "_id": 2, "matched": false }
{ "_id": 3, "matched": false }

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

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

聚合操作符。匹配两个值,如果前者小于或等于后者则返回 true,否则返回 false。

参数

value: Expression[]

[<value1>, <value2>]

返回值

Object

API 说明

语法如下:

db.command.aggregate.lte([<value1>, <value2>])

示例代码

假设集合 price 有如下记录:

{ "_id": 1, "value": 10 }
{ "_id": 2, "value": 80 }
{ "_id": 3, "value": 50 }

判断 value 是否小于 50。

const $ = db.command.aggregate
db.collection('price').aggregate()
  .project({
    matched: $.lte(['$value', 50])
  })
  .end()

返回结果如下:

{ "_id": 1, "matched": true }
{ "_id": 2, "matched": false }
{ "_id": 3, "matched": true }

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

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

聚合操作符。匹配两个值,如果不相等则返回 true,否则返回 false。

参数

value: Expression[]

[<value1>, <value2>]

返回值

Object

API 说明

语法如下:

db.command.aggregate.neq([<value1>, <value2>])

示例代码

假设集合 price 有如下记录:

{ "_id": 1, "value": 10 }
{ "_id": 2, "value": 80 }
{ "_id": 3, "value": 50 }

求 value 不等于 50 的记录。

const $ = db.command.aggregate
db.collection('price').aggregate()
  .project({
    matched: $.neq(['$value', 50])
  })
  .end()

返回结果如下:

{ "_id": 1, "matched": true }
{ "_id": 2, "matched": true }
{ "_id": 3, "matched": false }


支持端:小程序 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 }

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

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

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

聚合操作符。匹配两个值,如果相等则返回 true,否则返回 false。

参数

value: Expression[]

[<value1>, <value2>]

返回值

Object

API 说明

语法如下:

db.command.aggregate.eq([<value1>, <value2>])

示例代码

假设集合 price 有如下记录:

{ "_id": 1, "value": 10 }
{ "_id": 2, "value": 80 }
{ "_id": 3, "value": 50 }

求 value 等于 50 的记录。

const $ = db.command.aggregate
db.collection('price').aggregate()
  .project({
    matched: $.eq(['$value', 50])
  })
  .end()

返回结果如下:

{ "_id": 1, "matched": false }
{ "_id": 2, "matched": false }
{ "_id": 3, "matched": true }

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

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

聚合操作符。匹配两个值,如果前者大于后者则返回 true,否则返回 false。

参数

value: Expression[]

[<value1>, <value2>]

返回值

Object

API 说明

语法如下:

db.command.aggregate.gt([<value1>, <value2>])

示例代码

假设集合 price 有如下记录:

{ "_id": 1, "value": 10 }
{ "_id": 2, "value": 80 }
{ "_id": 3, "value": 50 }

判断 value 是否大于 50。

const $ = db.command.aggregate
db.collection('price').aggregate()
  .project({
    matched: $.gt(['$value', 50])
  })
  .end()

返回结果如下:

{ "_id": 1, "matched": false }
{ "_id": 2, "matched": true }
{ "_id": 3, "matched": false }

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

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

聚合操作符。匹配两个值,如果前者大于或等于后者则返回 true,否则返回 false。

参数

value: Expression[]

[<value1>, <value2>]

返回值

Object

API 说明

语法如下:

db.command.aggregate.gte([<value1>, <value2>])

示例代码

假设集合 price 有如下记录:

{ "_id": 1, "value": 10 }
{ "_id": 2, "value": 80 }
{ "_id": 3, "value": 50 }

判断 value 是否大于或等于 50。

const $ = db.command.aggregate
db.collection('price').aggregate()
  .project({
    matched: $.gte(['$value', 50])
  })
  .end()

返回结果如下:

{ "_id": 1, "matched": false }
{ "_id": 2, "matched": true }
{ "_id": 3, "matched": true }

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

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

聚合操作符。匹配两个值,如果前者小于后者则返回 true,否则返回 false。

参数

value: Expression[]

[<value1>, <value2>]

返回值

Object

API 说明

语法如下:

db.command.aggregate.lt([<value1>, <value2>])

示例代码

假设集合 price 有如下记录:

{ "_id": 1, "value": 10 }
{ "_id": 2, "value": 80 }
{ "_id": 3, "value": 50 }

判断 value 是否小于 50。

const $ = db.command.aggregate
db.collection('price').aggregate()
  .project({
    matched: $.lt(['$value', 50])
  })
  .end()

返回结果如下:

{ "_id": 1, "matched": true }
{ "_id": 2, "matched": false }
{ "_id": 3, "matched": false }

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

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

聚合操作符。匹配两个值,如果前者小于或等于后者则返回 true,否则返回 false。

参数

value: Expression[]

[<value1>, <value2>]

返回值

Object

API 说明

语法如下:

db.command.aggregate.lte([<value1>, <value2>])

示例代码

假设集合 price 有如下记录:

{ "_id": 1, "value": 10 }
{ "_id": 2, "value": 80 }
{ "_id": 3, "value": 50 }

判断 value 是否小于 50。

const $ = db.command.aggregate
db.collection('price').aggregate()
  .project({
    matched: $.lte(['$value', 50])
  })
  .end()

返回结果如下:

{ "_id": 1, "matched": true }
{ "_id": 2, "matched": false }
{ "_id": 3, "matched": true }

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

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

聚合操作符。匹配两个值,如果不相等则返回 true,否则返回 false。

参数

value: Expression[]

[<value1>, <value2>]

返回值

Object

API 说明

语法如下:

db.command.aggregate.neq([<value1>, <value2>])

示例代码

假设集合 price 有如下记录:

{ "_id": 1, "value": 10 }
{ "_id": 2, "value": 80 }
{ "_id": 3, "value": 50 }

求 value 不等于 50 的记录。

const $ = db.command.aggregate
db.collection('price').aggregate()
  .project({
    matched: $.neq(['$value', 50])
  })
  .end()

返回结果如下:

{ "_id": 1, "matched": true }
{ "_id": 2, "matched": true }
{ "_id": 3, "matched": false }


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号