SDK数据库 Command·聚合操作符·比较操作符
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 }
更多建议: