数据库脚本
数据库脚本是用来执行数据库 CRUD & 聚合 操作的脚本,语法同云开发 SDK 数据库语法,目前可应用数据库脚本在以下场景:
数据库脚本语法
数据库脚本语法同 SDK 数据库语法,是 JavaScript 的真子集,出于安全考虑在语法上带有一定的限制性,以下是一个查询的脚本示例:
db.collection('test')
.where({
price: _.gt(10)
})
.field({
name: true,
price: true,
})
.orderBy('price', 'desc')
.skip(1)
.limit(100)
.get()
全局变量
在脚本中提供以下全局变量:
变量名 | 说明 |
---|---|
db | 等于 wx.cloud.database() 的结果 (不区分环境) |
_ | 等于 db.command |
语法规则
以下列举以 JavaScript 语法表达式出发解释主要的语法异同点(规则和限制):
表达式 | 支持性 | 示例 |
---|---|---|
获取属性 | 支持获取对象的合法属性,对象如 db 、 ,合法属性如 db 的 collection 属性 | db.collection |
函数调用 | 支持 | db.collection() |
new | 支持 | new db.Geo.Point(113, 23) |
变量声明 | 支持变量声明,同时支持对象解构器的声明方式 | const Geo = db.Geo const { Point } = db.Geo |
对象声明 | 支持 | const obj = { age: .gt(10) } |
常量声明 | 支持 | const max = 10 |
负数 | 支持 | const min = -5 |
注释 | 支持 | // comment / comment / |
其他 | 不支持 |
不支持表达式简要一览:
- 函数声明
- 类声明
- 变量赋值(不能声明后重新赋值)
- 算术运算(
+
,-
…) - 三值表达式(
a ? b : c
) - 条件表达式(
if
,else
) - switch 表达式
- 遍历表达式(
for…in
,for…of
, …) - 数组解构器
- try catch
报错提示
如果语法不正确,在错误信息中会给出错误原因及出错的行列号,示例: