微信小程序开发文档 SDK数据库 Command·聚合操作符·比较操作符

2024-02-25 开发教程 微信小程序开发文档 匿名 0

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 }