未验证 提交 c48e8710 编写于 作者: W wanganxp 提交者: GitHub

Update cf-database.md

上级 4e6863c1
...@@ -99,47 +99,47 @@ uniCloud会在每天备份一次数据库,最多保留7天。 ...@@ -99,47 +99,47 @@ uniCloud会在每天备份一次数据库,最多保留7天。
3. 选择可回档时间 3. 选择可回档时间
4. 选择需要回档的集合(注意:回档后集合不能与现有集合重名,如需对集合重命名可以在集合列表处操作) 4. 选择需要回档的集合(注意:回档后集合不能与现有集合重名,如需对集合重命名可以在集合列表处操作)
![数据库回档](https://img.cdn.aliyun.dcloud.net.cn/uni-app/uniCloud/unicloud-db-backup.jpg) ![数据库回档](https://img.cdn.aliyun.dcloud.net.cn/uni-app/uniCloud/unicloud-db-backup.jpg)
## 数据导出@export ## 数据导出@export
**此功能暂时只有阿里云支持** **此功能暂时只有阿里云支持**
此功能主要用于导出整个集合的数据 此功能主要用于导出整个集合的数据
**用法** **用法**
1. 进入[uniCloud web控制台](https://unicloud.dcloud.net.cn/home),选择服务空间,或者直接在HBuilderX云函数目录`cloudfunctions`上右键打开uniCloud web控制台 1. 进入[uniCloud web控制台](https://unicloud.dcloud.net.cn/home),选择服务空间,或者直接在HBuilderX云函数目录`cloudfunctions`上右键打开uniCloud web控制台
2. 进入云数据库选择希望导入数据的集合 2. 进入云数据库选择希望导入数据的集合
3. 点击导出按钮 3. 点击导出按钮
4. 选择导出格式,如果选择csv格式还需要选择导出字段 4. 选择导出格式,如果选择csv格式还需要选择导出字段
5. 点击确定按钮等待下载开始即可 5. 点击确定按钮等待下载开始即可
**注意** **注意**
- 导出的json文件并非一般情况下的json,而是每行一条json数据的文本文件 - 导出的json文件并非一般情况下的json,而是每行一条json数据的文本文件
- 导出为csv时必须填写字段选项。字段之间使用英文逗号隔开。例如:`_id, name, age, gender` - 导出为csv时必须填写字段选项。字段之间使用英文逗号隔开。例如:`_id, name, age, gender`
- 数据量较大时可能需要等待一段时间才可以开始下载 - 数据量较大时可能需要等待一段时间才可以开始下载
## 数据导入@import ## 数据导入@import
**此功能暂时只有阿里云支持** **此功能暂时只有阿里云支持**
uniCloud提供的`db_init.json`主要是为了对数据库进行初始化,并不适合导入大量数据。与`db_init.json`不同,数据导入功能可以导入大量数据,目前支持导入 CSV、JSON 格式的文件数据。 uniCloud提供的`db_init.json`主要是为了对数据库进行初始化,并不适合导入大量数据。与`db_init.json`不同,数据导入功能可以导入大量数据,目前支持导入 CSV、JSON 格式的文件数据。
**用法** **用法**
1. 进入[uniCloud web控制台](https://unicloud.dcloud.net.cn/home),选择服务空间,或者直接在HBuilderX云函数目录`cloudfunctions`上右键打开uniCloud web控制台 1. 进入[uniCloud web控制台](https://unicloud.dcloud.net.cn/home),选择服务空间,或者直接在HBuilderX云函数目录`cloudfunctions`上右键打开uniCloud web控制台
2. 进入云数据库选择希望导入数据的集合 2. 进入云数据库选择希望导入数据的集合
3. 点击导入,选择json文件或csv文件 3. 点击导入,选择json文件或csv文件
4. 选择处理冲突模式(关于处理冲突模式请看下方注意事项) 4. 选择处理冲突模式(关于处理冲突模式请看下方注意事项)
5. 点击确定按钮等待导入完成即可 5. 点击确定按钮等待导入完成即可
**注意** **注意**
- 目前导入文件最大限制为50MB - 目前导入文件最大限制为50MB
- 导入csv时数据类型会丢失,即所有字段均会作为字符串导入 - 导入csv时数据类型会丢失,即所有字段均会作为字符串导入
- 冲突处理模式为设定记录_id冲突时的处理方式,`insert`表示冲突时依旧导入记录但是是新插入一条,`upsert`表示冲突时更新已存在的记录 - 冲突处理模式为设定记录_id冲突时的处理方式,`insert`表示冲突时依旧导入记录但是是新插入一条,`upsert`表示冲突时更新已存在的记录
## 获取集合的引用 ## 获取集合的引用
...@@ -275,8 +275,6 @@ exports.main = async (event, context) => { ...@@ -275,8 +275,6 @@ exports.main = async (event, context) => {
### 地理位置 ### 地理位置
**阿里云升级mongoDB为4.0版本后已支持地理位置**
参考:[GEO地理位置](#GEO地理位置) 参考:[GEO地理位置](#GEO地理位置)
### Null ### Null
...@@ -479,11 +477,11 @@ collection.orderBy() ...@@ -479,11 +477,11 @@ collection.orderBy()
| --------- | ------ | ---- | ----------------------------------- | | --------- | ------ | ---- | ----------------------------------- |
| field | string | 是 | 排序的字段 | | field | string | 是 | 排序的字段 |
| orderType | string | 是 | 排序的顺序,升序(asc) 或 降序(desc) | | orderType | string | 是 | 排序的顺序,升序(asc) 或 降序(desc) |
如果需要对嵌套字段排序,需要用 "点表示法" 连接嵌套字段,比如 style.color 表示字段 style 里的嵌套字段 color。 如果需要对嵌套字段排序,需要用 "点表示法" 连接嵌套字段,比如 style.color 表示字段 style 里的嵌套字段 color。
同时也支持按多个字段排序,多次调用 orderBy 即可,多字段排序时的顺序会按照 orderBy 调用顺序先后对多个字段排序 同时也支持按多个字段排序,多次调用 orderBy 即可,多字段排序时的顺序会按照 orderBy 调用顺序先后对多个字段排序
使用示例 使用示例
...@@ -758,13 +756,13 @@ let res = await collection.where({ ...@@ -758,13 +756,13 @@ let res = await collection.where({
_id: dbCmd.exists(true) _id: dbCmd.exists(true)
}).remove() }).remove()
``` ```
响应参数 响应参数
| 字段 | 类型 | 必填 | 说明 | | 字段 | 类型 | 必填 | 说明 |
| --------- | ------- | ---- | ------------------------ | | --------- | ------- | ---- | ------------------------ |
| deleted | Integer | 否 | 删除的记录数量 | | deleted | Integer | 否 | 删除的记录数量 |
## 更新文档 ## 更新文档
...@@ -2530,7 +2528,7 @@ WHERE <output array field> IN (SELECT * ...@@ -2530,7 +2528,7 @@ WHERE <output array field> IN (SELECT *
- 组合 mergeObjects 应用相等匹配 - 组合 mergeObjects 应用相等匹配
#### 自定义连接条件、拼接子查询 #### 自定义连接条件、拼接子查询
阿里云升级mongoDB版本为4.0后已支持此写法 阿里云升级mongoDB版本为4.0后已支持此写法
如果需要指定除相等匹配之外的连接条件,或指定多个相等匹配条件,或需要拼接被连接集合的子查询结果,那可以使用如下定义: 如果需要指定除相等匹配之外的连接条件,或指定多个相等匹配条件,或需要拼接被连接集合的子查询结果,那可以使用如下定义:
...@@ -2842,7 +2840,7 @@ let res = await db.collection('orders').aggregate() ...@@ -2842,7 +2840,7 @@ let res = await db.collection('orders').aggregate()
- orders 的 book 字段与 books 的 title 字段相等 - orders 的 book 字段与 books 的 title 字段相等
- books 的 stock 字段 大于或等于 orders 的 quantityorders 字段 - books 的 stock 字段 大于或等于 orders 的 quantityorders 字段
```js ```js
const db = cloud.database() const db = cloud.database()
const dbCmd = db.command const dbCmd = db.command
const $ = dbCmd.aggregate const $ = dbCmd.aggregate
let res = await db.collection('orders').aggregate() let res = await db.collection('orders').aggregate()
...@@ -4537,7 +4535,7 @@ let res = await db.collection('todos').doc('doc-id').update({ ...@@ -4537,7 +4535,7 @@ let res = await db.collection('todos').doc('doc-id').update({
someField: dbCmd.rename('someObject.renamedField') someField: dbCmd.rename('someObject.renamedField')
} }
}) })
``` ```
或: 或:
...@@ -4606,7 +4604,7 @@ let res = await db.collection('todos').doc('doc-id').update({ ...@@ -4606,7 +4604,7 @@ let res = await db.collection('todos').doc('doc-id').update({
}) })
``` ```
##### 示例 3:排序 ##### 示例 3:排序
插入后对整个数组做排序 插入后对整个数组做排序
...@@ -4619,7 +4617,7 @@ let res = await db.collection('todos').doc('doc-id').update({ ...@@ -4619,7 +4617,7 @@ let res = await db.collection('todos').doc('doc-id').update({
sort: 1, sort: 1,
}) })
}) })
``` ```
不插入,只对数组做排序 不插入,只对数组做排序
...@@ -4832,7 +4830,7 @@ let res = await db.collection('todos').doc('doc-id').update({ ...@@ -4832,7 +4830,7 @@ let res = await db.collection('todos').doc('doc-id').update({
}) })
``` ```
##### 示例代码 2:添加多个元素 ##### 示例代码 2:添加多个元素
需传入一个对象,其中有一个字段 `each`,其值为数组,每个元素就是要添加的元素 需传入一个对象,其中有一个字段 `each`,其值为数组,每个元素就是要添加的元素
...@@ -4855,7 +4853,7 @@ let res = await db.collection('todos').doc('doc-id').update({ ...@@ -4855,7 +4853,7 @@ let res = await db.collection('todos').doc('doc-id').update({
聚合操作符。返回一个数字的绝对值。 聚合操作符。返回一个数字的绝对值。
##### API 说明 ##### API 说明
语法如下: 语法如下:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册