Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
erosXXX
uni-app
提交
c77c0207
U
uni-app
项目概览
erosXXX
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c77c0207
编写于
1月 30, 2021
作者:
雪洛
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
docs: uniCloud fieldRules
上级
808689d2
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
31 addition
and
3 deletion
+31
-3
docs/uniCloud/clientdb.md
docs/uniCloud/clientdb.md
+28
-2
docs/uniCloud/schema.md
docs/uniCloud/schema.md
+3
-1
未找到文件。
docs/uniCloud/clientdb.md
浏览文件 @
c77c0207
...
...
@@ -566,7 +566,7 @@ jql支持两种类型的查询条件,以下内容有助于理解两种的区
where内还支持使用云端环境变量,详情参考:
[
云端环境变量
](
uniCloud/clientdb.md?id=variable
)
#### 简单查询条件
#### 简单查询条件
@simple-where
简单查询条件包括以下几种,对应着db.command下的各种
[
操作符
](
https://uniapp.dcloud.net.cn/uniCloud/cf-database?id=dbcmd
)
以及不使用操作符的查询如
`where({a:1})`
。
...
...
@@ -587,7 +587,7 @@ where内还支持使用云端环境变量,详情参考:[云端环境变量](
上述写法的查询语句可以在权限校验阶段与schema内配置的permission进行一次对比校验,如果校验通过则不会再查库进行权限校验。
#### 复杂查询条件
#### 复杂查询条件
@complex-where
> HBuilderX 3.1.0起支持
...
...
@@ -660,6 +660,32 @@ res = {
}
```
在查询条件时也可以使用
`new Date()`
来获取一个日期对象。
例:数据表test内有以下数据
```
js
{
"
_id
"
:
"
1
"
,
"
title
"
:
"
t1
"
,
"
deadline
"
:
1611998723948
}
{
"
_id
"
:
"
2
"
,
"
title
"
:
"
t2
"
,
"
deadline
"
:
1512312311231
}
```
使用下面的写法可以查询deadline小于当前时间(云函数内的时间)的字段
```
js
const
db
=
uniCloud
.
database
()
const
res
=
await
db
.
collection
(
'
test
'
)
.
where
(
'
deadline < new Date().getTime()
'
)
// 暂不支持使用Date.now(),后续会支持
.
get
()
```
**注意**
-
使用了复杂查询条件时不可以使用正则查询
...
...
docs/uniCloud/schema.md
浏览文件 @
c77c0207
...
...
@@ -743,9 +743,10 @@ fieldRules内配置如下,数组内可以配置多个rule,每个rule都有ru
rule表达式,是一组js,返回值必须为true或false。返回false则触发提示错误,错误提示显示的是errorMessage的内容。
rule表达式里支持:
1.
字段名称
2.
字段的聚合运算方法
3.
js语法和基本内置对象,
如new date(),以及三目运算符、正则表达式
3.
js语法和基本内置对象,
一般来说仅需使用
`new Date()`
来获取云端的时间,暂不支持
`Date.now()、Math`
。需要注意的是不同于聚合运算符,js内置方法不可传入数据库字段作为参数
上述配置中,
`end_date`
为字段名称。schema内也支持写字段操作方法,如add方法。
...
...
@@ -782,6 +783,7 @@ rule表达式里支持:
-
新增/更新数据时会校验所有新增/更新字段相关联的fieldRules。如上述规则中,如果更新
`end_date`
字段或者
`create_date`
字段均会触发校验
-
新增数据时不需要查库进行校验,更新数据时需要进行一次查库校验(有多条fieldRules时也是一次)
-
fieldRules内不支持使用正则
#### 4. errorMessage自定义错误提示@errormessage
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录