随笔 - 2649  文章 - 2452  评论 - 0  阅读 - 74060

数据库脚本

数据库脚本

数据库脚本是用来执行数据库 CRUD & 聚合 操作的脚本,语法同云开发 SDK 数据库语法,目前可应用数据库脚本在以下场景:

  1. 控制台中可以使用数据库脚本进行高级数据库 CRUD & 聚合 管理操作 文档
  2. HTTP API 中的数据库接口 文档

数据库脚本语法

数据库脚本语法同 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_,合法属性如 dbcollection 属性 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

报错提示

如果语法不正确,在错误信息中会给出错误原因出错的行列号,示例:

syntax errro

posted on   AtlasLapetos  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示