聚合sdk是一种接入方式,它可以帮助开发者快速接入多个第三方服务,从而节省大量的时间和成本。聚合sdk的优势在于它可以将多个第三方服务集成到一个应用中,使用户能够在一个应用中访问所有的服务。
聚合sdk的接入过程非常简单,开发者只需要在应用中集成聚合sdk,然后根据文档进行相关配置即可。此外,开发者还需要根据不同的平台和服务进行相应的配置,以便能够正常使用该服务。
// 初始化SDK JuheSDK.init(context, appKey); // 调用SDK API JuheSDK.getData(params, new JuheCallback() { @Override public void onSuccess(Object result) { } @Override public void onError(Throwable ex) { } @Override public void onCancelled(Callback.CancelledException cex) { } @Override public void onFinished() { } });
支持端:小程序 2.7.4, 云函数 0.8.1, Web
聚合操作符。返回一个数字的绝对值。
number
语法如下:
db.command.aggregate.abs(<number>)
abs 传入的值除了数字常量外,也可以是任何最终解析成一个数字的表达式。
如果表达式解析为 null 或者指向一个不存在的字段,则 abs 的结果是 null。如果值解析为 NaN,则结果是 NaN。
假设集合 ratings 有如下记录:
{ _id: 1, start: 5, end: 8 }
{ _id: 2, start: 4, end: 4 }
{ _id: 3, start: 9, end: 7 }
{ _id: 4, start: 6, end: 7 }
··· 可以用如下方式求得各个记录的 start 和 end 之间的绝对差异大小:
const $ = db.command.aggregate
db.collection("ratings").aggregate()
.project({
delta: $.abs($.subtract(["$start", "$end"]))
})
.end()
返回结果如下:
{ "_id" : 1, "delta" : 3 }
{ "_id" : 2, "delta" : 0 }
{ "_id" : 3, "delta" : 2 }
{ "_id" : 4, "delta" : 1 }
支持端:小程序 2.7.4, 云函数 0.8.1, Web
聚合操作符。将数字相加或将数字加在日期上。如果数组中的其中一个值是日期,那么其他值将被视为毫秒数加在该日期上。
[<表达式1>, <表达式2>, ...]
语法如下:
db.command.aggregate.add([<表达式1>, <表达式2>, ...])
表达式可以是形如 $ + 指定字段,也可以是普通字符串。只要能够被解析成字符串即可。
假设集合 staff 有如下记录:
{ _id: 1, department: "x", sales: 5, engineer: 10, lastUpdate: ISODate("2019-05-01T00:00:00Z") }
{ _id: 2, department: "y", sales: 10, engineer: 20, lastUpdate: ISODate("2019-05-01T02:00:00Z") }
{ _id: 3, department: "z", sales: 20, engineer: 5, lastUpdate: ISODate("2019-05-02T03:00:00Z") }
可以用如下方式求得各个记录人数总数:
const $ = db.command.aggregate
db.collection("staff").aggregate()
.project({
department: 1,
total: $.add(["$sales", "$engineer"])
})
.end()
返回结果如下:
{ _id: 1, department: "x", total: 15 }
{ _id: 2, department: "y", total: 30 }
{ _id: 3, department: "z", total: 25 }
如下操作可以获取各个记录的 lastUpdate 加一个小时之后的值:
const $ = db.command.aggregate
db.collection("staff").aggregate()
.project({
department: 1,
lastUpdate: $.add(["$lastUpdate", 60*60*1000])
})
.end()
返回结果如下:
{ _id: 1, department: "x", lastUpdate: ISODate("2019-05-01T01:00:00Z") }
{ _id: 2, department: "y", lastUpdate: ISODate("2019-05-01T03:00:00Z") }
{ _id: 3, department: "z", lastUpdate: ISODate("2019-05-02T04:00:00Z") }
支持端:小程序 2.7.4, 云函数 0.8.1, Web
聚合操作符。向上取整,返回大于或等于给定数字的最小整数。
number
语法如下:
db.command.aggregate.ceil(<number>)
<number> 可以是任意解析为数字的表达式。如果表达式解析为 null 或指向一个不存在的字段,则返回 null,如果解析为 NaN,则返回 NaN。
假设集合 sales 有如下记录:
{ _id: 1, sales: 5.2 }
{ _id: 2, sales: 1.32 }
{ _id: 3, sales: -3.2 }
可以用如下方式取各个数字的向上取整值:
const $ = db.command.aggregate
db.collection("sales").aggregate()
.project({
sales: $.ceil("$sales")
})
.end()
返回结果如下:
{ _id: 1, sales: 6 }
{ _id: 2, sales: 2 }
{ _id: 3, sales: -3 }
支持端:小程序 2.7.4, 云函数 0.8.1, Web
聚合操作符。传入被除数和除数,求商。
[<被除数表达式>, <除数表达式>]
语法如下:
db.command.aggregate.divide([<被除数表达式>, <除数表达式>])
表达式可以是任意解析为数字的表达式。
假设集合 railroads 有如下记录:
{ _id: 1, meters: 5300 }
{ _id: 2, meters: 64000 }
{ _id: 3, meters: 130 }
可以用如下方式取各个数字转换为千米之后的值:
const $ = db.command.aggregate
db.collection("railroads").aggregate()
.project({
km: $.divide(["$meters", 1000])
})
.end()
返回结果如下:
{ _id: 1, km: 5.3 }
{ _id: 2, km: 64 }
{ _id: 3, km: 0.13 }
支持端:小程序 2.7.4, 云函数 0.8.1, Web
聚合操作符。取 e(自然对数的底数,欧拉数) 的 n 次方。
exponent
语法如下:
db.command.aggregate.exp(<exponent>)
<exponent> 可以是任意解析为数字的表达式。如果表达式解析为 null 或指向一个不存在的字段,则返回 null,如果解析为 NaN,则返回 NaN。
假设集合 math 有如下记录:
{ _id: 1, exp: 0 }
{ _id: 2, exp: 1 }
{ _id: 3, exp: 2 }
const $ = db.command.aggregate
db.collection("math").aggregate()
.project({
result: $.exp("$exp")
})
.end()
返回结果如下:
{ _id: 1, result: 1 }
{ _id: 2, result: 2.71828182845905 }
{ _id: 3, result: 7.38905609893065 }
支持端:小程序 2.7.4, 云函数 0.8.1, Web
聚合操作符。向下取整,返回大于或等于给定数字的最小整数。
number
语法如下:
db.command.aggregate.floor(<number>)
<number> 可以是任意解析为数字的表达式。如果表达式解析为 null 或指向一个不存在的字段,则返回 null,如果解析为 NaN,则返回 NaN。
假设集合 sales 有如下记录:
{ _id: 1, sales: 5.2 }
{ _id: 2, sales: 1.32 }
{ _id: 3, sales: -3.2 }
可以用如下方式取各个数字的向下取整值:
const $ = db.command.aggregate
db.collection("sales").aggregate()
.project({
sales: $.floor("$sales")
})
.end()
返回结果如下:
{ _id: 1, sales: 5 }
{ _id: 2, sales: 1 }
{ _id: 3, sales: -6 }
支持端:小程序 2.7.4, 云函数 0.8.1, Web
聚合操作符。计算给定数字在自然对数值。
number
语法如下:
db.command.aggregate.ln(<number>)
<number> 可以是任意解析为非负数字的表达式。
ln 等价于 log([<number>, Math.E]),其中 Math.E 是 JavaScript 获取 e 的值的方法。
聚合操作符。计算给定数字在自然对数值。
语法如下:
db.command.aggregate.ln(<number>)
<number> 可以是任意解析为非负数字的表达式。
ln 等价于 log([<number>, Math.E]),其中 Math.E 是 JavaScript 获取 e 的值的方法。
支持端:小程序 2.7.4, 云函数 0.8.1, Web
聚合操作符。计算给定数字在给定对数底下的 log 值。
[<number>, <base>]
语法如下:
db.command.aggregate.log([<number>, <base>])
<number> 可以是任意解析为非负数字的表达式。<base> 可以是任意解析为大于 1 的数字的表达式。
如果任一参数解析为 null 或指向任意一个不存在的字段,log 返回 null。如果任一参数解析为 NaN,log 返回 NaN。
假设集合 curve 有如下记录:
{ _id: 1, x: 1 }
{ _id: 2, x: 2 }
{ _id: 3, x: 3 }
计算 log2(x) 的值:
const $ = db.command.aggregate
db.collection("staff").aggregate()
.project({
log: $.log(["$x", 2])
})
.end()
返回结果如下:
{ _id: 1, log: 0 }
{ _id: 2, log: 1 }
{ _id: 3, log: 1.58496250072 }
支持端:小程序 2.7.4, 云函数 0.8.1, Web
聚合操作符。计算给定数字在对数底为 10 下的 log 值。
number
语法如下:
db.command.aggregate.log(<number>)
<number> 可以是任意解析为非负数字的表达式。
log10 等同于 log 方法的第二个参数固定为 10。
聚合操作符。计算给定数字在对数底为 10 下的 log 值。
语法如下:
db.command.aggregate.log(<number>)
<number> 可以是任意解析为非负数字的表达式。
log10 等同于 log 方法的第二个参数固定为 10。
支持端:小程序 2.7.4, 云函数 0.8.1, Web
聚合操作符。取模运算,取数字取模后的值。
[<dividend>, <divisor>]
语法如下:
db.command.aggregate.mod([<dividend>, <divisor>])
第一个数字是被除数,第二个数字是除数。参数可以是任意解析为数字的表达式。
假设集合 shopping 有如下记录:
{ _id: 1, bags: 3, items: 5 }
{ _id: 2, bags: 2, items: 8 }
{ _id: 3, bags: 5, items: 16 }
各记录取 items 除以 bags 的余数(items % bags):
const $ = db.command.aggregate
db.collection("shopping").aggregate()
.project({
overflow: $.mod(["$items", "$bags"])
})
.end()
返回结果如下:
{ _id: 1, log: 2 }
{ _id: 2, log: 0 }
{ _id: 3, log: 1 }
支持端:小程序 2.7.4, 云函数 0.8.1, Web
聚合操作符。取传入的数字参数相乘的结果。
[<expression1>, <expression2>, ...]
语法如下:
db.command.aggregate.multiply([<expression1>, <expression2>, ...])
参数可以是任意解析为数字的表达式。
假设集合 fruits 有如下记录:
{ "_id": 1, "name": "apple", "price": 10, "quantity": 100 }
{ "_id": 2, "name": "orange", "price": 15, "quantity": 50 }
{ "_id": 3, "name": "lemon", "price": 5, "quantity": 20 }
求各个水果的的总价值:
const $ = db.command.aggregate
db.collection("fruits").aggregate()
.project({
name: 1,
total: $.multiply(["$price", "$quantity"]),
})
.end()
返回结果如下:
{ "_id": 1, "name": "apple", "total": 1000 }
{ "_id": 2, "name": "orange", "total": 750 }
{ "_id": 3, "name": "lemo", "total": 100 }
支持端:小程序 2.7.4, 云函数 0.8.1, Web
聚合操作符。求给定基数的指数次幂。
[<base>, <exponent>]
语法如下:
db.command.aggregate.pow([<base>, <exponent>])
参数可以是任意解析为数字的表达式。
假设集合 stats 有如下记录:
{ "_id": 1, "x": 2, "y": 3 }
{ "_id": 2, "x": 5, "y": 7 }
{ "_id": 3, "x": 10, "y": 20 }
求 x 和 y 的平方和:
const $ = db.command.aggregate
db.collection("stats").aggregate()
.project({
sumOfSquares: $.add([$.pow(["$x", 2]), $.pow(["$y", 2])]),
})
.end()
返回结果如下:
{ "_id": 1, "sumOfSquares": 13 }
{ "_id": 2, "sumOfSquares": 74 }
{ "_id": 3, "sumOfSquares": 500 }
支持端:小程序 2.7.4, 云函数 0.8.1, Web
聚合操作符。求平方根。
[<number>]
语法如下:
db.command.aggregate.sqrt([<number>])
参数可以是任意解析为非负数字的表达式。
假设直角三角形集合 triangle 有如下记录:
{ "_id": 1, "x": 2, "y": 3 }
{ "_id": 2, "x": 5, "y": 7 }
{ "_id": 3, "x": 10, "y": 20 }
假设 x 和 y 分别为两直角边,则求斜边长:
const $ = db.command.aggregate
db.collection("triangle").aggregate()
.project({
len: $.sqrt([$.add([$.pow(["$x", 2]), $.pow(["$y", 2])])]),
})
.end()
返回结果如下:
{ "_id": 1, "len": 3.605551275463989 }
{ "_id": 2, "len": 8.602325267042627 }
{ "_id": 3, "len": 22.360679774997898 }
支持端:小程序 2.7.4, 云函数 0.8.1, Web
聚合操作符。将两个数字相减然后返回差值,或将两个日期相减然后返回相差的毫秒数,或将一个日期减去一个数字返回结果的日期。
[<expression1>, <expression2>]
语法如下:
db.command.aggregate.subtract([<expression1>, <expression2>])
参数可以是任意解析为数字或日期的表达式。
假设集合 scores 有如下记录:
{ "_id": 1, "max": 10, "min": 1 }
{ "_id": 2, "max": 7, "min": 5 }
{ "_id": 3, "max": 6, "min": 6 }
求各个记录的 max 和 min 的差值。:
const $ = db.command.aggregate
db.collection("scores").aggregate()
.project({
diff: $.subtract(["$max", "$min"])
})
.end()
返回结果如下:
{ "_id": 1, "diff": 9 }
{ "_id": 2, "diff": 2 }
{ "_id": 3, "diff": 0 }
支持端:小程序 2.7.4, 云函数 0.8.1, Web
聚合操作符。将数字截断为整形。
number
语法如下:
db.command.aggregate.trunc(<number>)
参数可以是任意解析为数字的表达式。
假设集合 scores 有如下记录:
{ "_id": 1, "value": 1.21 }
{ "_id": 2, "value": 3.83 }
{ "_id": 3, "value": -4.94 }
const $ = db.command.aggregate
db.collection("scores").aggregate()
.project({
int: $.trunc("$value")
})
.end()
返回结果如下:
{ "_id": 1, "value": 1 }
{ "_id": 2, "value": 3 }
{ "_id": 3, "value": -4 }
AggregateCommand.allElementsTrue(value:Expression[]): Object支持端:小程序 2.7.4,云函数 0.8.1,Web聚合操作符。输入一个数...
#概览此更改不会影响 template 用户。以下是更改的简要总结:h 现在全局导入,而不是作为参数传递给渲染函数渲染函数参数更改为...
在 Vue 3 中,改变全局 Vue 行为的 API 现在被移动到了由新的 createApp 方法所创建的应用实例上。此外,现在它们的影响仅限于该...
本节例子中代码使用的单文件组件语法#reactive返回对象的响应式副本const obj = reactive({ count: 0 })响应式转换是“深层”的...