Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
98abe254
U
uni-app
项目概览
DCloud
/
uni-app
4 个月 前同步成功
通知
730
Star
38706
Fork
3642
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
7
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
7
Issue
7
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
98abe254
编写于
1月 13, 2021
作者:
study夏羽
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
https://github.com/dcloudio/uni-app
上级
10aa3536
1e7cb791
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
146 addition
and
1 deletion
+146
-1
docs/uniCloud/cf-database.md
docs/uniCloud/cf-database.md
+125
-0
docs/uniCloud/clientdb.md
docs/uniCloud/clientdb.md
+21
-1
未找到文件。
docs/uniCloud/cf-database.md
浏览文件 @
98abe254
...
...
@@ -892,6 +892,131 @@ db.collection('articles').where({
})
})
```
### 查询数组字段@querywitharr
假设数据表class内有以下数据,可以使用下面两种方式查询数组内包含指定值
```
js
{
"
_id
"
:
"
1
"
,
"
students
"
:
[
"
li
"
,
"
wang
"
]
}
{
"
_id
"
:
"
2
"
,
"
students
"
:
[
"
wang
"
,
"
li
"
]
}
{
"
_id
"
:
"
3
"
,
"
students
"
:
[
"
zhao
"
,
"
qian
"
]
}
```
#### 指定下标查询
```
js
const
index
=
1
const
res
=
await
db
.
collection
(
'
class
'
).
where
({
[
'
students.
'
+
index
]:
'
wang
'
})
.
get
()
```
```
js
// 查询结果如下
{
data
:
[{
"
_id
"
:
"
1
"
,
"
students
"
:
[
"
li
"
,
"
wang
"
]
}]
}
```
#### 不指定下标查询
```
js
const
res
=
await
db
.
collection
(
'
class
'
).
where
({
students
:
'
wang
'
})
.
get
()
```
查询结果如下
```
js
{
data
:
[{
"
_id
"
:
"
1
"
,
"
students
"
:
[
"
li
"
,
"
wang
"
]
},{
"
_id
"
:
"
1
"
,
"
students
"
:
[
"
wang
"
,
"
li
"
]
}]
}
```
#### 数组内是对象
如果将上面class内的数据改为如下形式
```
js
{
"
_id
"
:
"
1
"
,
"
students
"
:
[{
name
:
"
li
"
},{
name
:
"
wang
"
}]
}
{
"
_id
"
:
"
2
"
,
"
students
"
:
[{
name
:
"
wang
"
},{
name
:
"
li
"
}]
}
{
"
_id
"
:
"
3
"
,
"
students
"
:
[{
name
:
"
zhao
"
},{
name
:
"
qian
"
}]
}
```
不指定下标查询的写法可以修改为
```
js
const
res
=
await
db
.
collection
(
'
class
'
).
where
({
'
students.name
'
:
'
wang
'
})
.
get
()
```
查询结果如下
```
js
{
data
:
[{
"
_id
"
:
"
1
"
,
"
students
"
:
[{
name
:
"
li
"
},{
name
:
"
wang
"
}]
},
{
"
_id
"
:
"
2
"
,
"
students
"
:
[{
name
:
"
wang
"
},{
name
:
"
li
"
}]
}]
}
```
## 删除文档
...
...
docs/uniCloud/clientdb.md
浏览文件 @
98abe254
...
...
@@ -270,6 +270,26 @@ sql写法,对js工程师而言有学习成本,而且无法处理非关系型
**注意编写查询条件时,除test外,均为运算符左侧为数据库字段,右侧为常量**
#### 查询数组字段@querywitharr
如果数据库存在以下记录
```
js
{
"
_id
"
:
"
1
"
,
"
students
"
:
[
"
li
"
,
"
wang
"
]
}
{
"
_id
"
:
"
2
"
,
"
students
"
:
[
"
wang
"
,
"
li
"
]
}
{
"
_id
"
:
"
3
"
,
"
students
"
:
[
"
zhao
"
,
"
qian
"
]
}
```
使用jql查询语法时,可以直接使用
`student=='wang'`
作为查询条件来查询students内包含wang的记录。
#### 常见正则用法@regexp
...
...
@@ -281,7 +301,7 @@ sql写法,对js工程师而言有学习成本,而且无法处理非关系型
<template>
<view
class=
"content"
>
<input
@
input=
"onKeyInput"
placeholder=
"请输入搜索值"
/>
<unicloud-db
v-slot:default=
"{data, loading, error, options}"
collection=
"goods"
:where=
`
/${searchVal}/i
.test(name)`
>
<unicloud-db
v-slot:default=
"{data, loading, error, options}"
collection=
"goods"
:where=
`
${new
RegExp
(
searchVal
,
'
i
')}
.
test
(
name
)`
>
<view
v-if=
"error"
>
{{error.message}}
</view>
<view
v-else
>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录