diff --git a/docs/uniCloud/jql.md b/docs/uniCloud/jql.md index 91c2ea3b3a10b65c35b56c936a9383a6488563ef..e577e109744784792578cd949c743ddc7e177a4c 100644 --- a/docs/uniCloud/jql.md +++ b/docs/uniCloud/jql.md @@ -141,6 +141,74 @@ sql写法,对js工程师而言有学习成本,而且无法处理非关系型 - 为了数据校验能严格限制,更新数据库时不可使用更新操作符`db.command.inc`等 - 更新数据时键值不可使用`{'a.b.c': 1}`的形式,需要写成`{a:{b:{c:1}}}`形式 +## JQL方法使用限制 + +### 简单查询 + +下面这些方法必须严格按照下面的顺序进行调用,其他方法需要在这些方法之后调用(不限制顺序) + +``` +collection +aggregate +doc +where +field +groupBy +groupField +``` + +### 联表查询 + +临时表可以使用以下方法(需按照下面的顺序调用) + +``` +collection +where +field +orderBy +skip +limit +getTemp +``` + +虚拟联表可以使用以下方法(需按照下面的顺序调用) + +``` +collection +foreignKey +where +field +groupBy +groupField +distinct +orderBy +skip +limit +get +``` + +### 新增 + +仅允许`collection().add()`这样的形式 + +### 修改 + +仅允许以下两种形式 + +```js +db.collection('xx').doc('xxx').update({}) +db.collection('xx').where('xxxx').update({}) +``` + +### 删除 + +仅允许以下两种形式 + +```js +db.collection('xx').doc('xxx').remove() +db.collection('xx').where('xxxx').remove() +``` + ## jql语句内云端环境变量@variable |参数名 |说明 |