提交 f7065414 编写于 作者: hbcui1984's avatar hbcui1984

更新云函数

上级 d258b9f1
`uniCloud` 是 DCloud 和阿里云、腾讯云等成熟云厂商合作推出的云服务产品,为开发者提供的高可用、自动弹性扩缩的后端云服务,包含计算、存储、托管等能力(Serverless 化);开发者使用 JS 开发业务逻辑,并将代码上传云端,`uniCloud`负责运行环境的管理调度,开发者无需再关心服务器的创建、扩容、灾备等运维工作,从而可以更专注于业务逻辑的实现,更高效的实现产品上线及迭代 `uniCloud` 是 DCloud 在微信/阿里小程序云开发的基建平台上进行扩展封装的云服务产品
开发者借助`uni-app`,虽然已可以开发所有前端应用。但仍然需要雇佣 PHP 或 Java 等后台开发人员,既有后端人员成本,又有前 / 后端沟通成本。腾讯、阿里、百度小程序虽陆续上线了云开发,但它们均只支持自己的小程序,无法跨端,分散的服务器对开发者更不可取。 `uniCloud` 为开发者提供高可用、自动弹性扩缩的后端云服务,包含计算、数据存储、文件存储等能力;开发者使用 JS 开发业务逻辑,并将代码上传云端,`uniCloud`负责运行环境的管理调度,开发者无需再关心服务器的创建、扩容、灾备等运维工作,从而可以更专注于业务逻辑的实现,更高效的实现产品上线及迭代。
在底层,`uniCloud` 和微信小程序云开发、支付宝小程序`Serverless`使用同样的基建平台,只不过微信云开发仅支持微信小程序,支付宝小程序`Serverless`仅支持阿里系小程序,`uniCloud`
作为三方中间产品,打破了厂商属性,抹平了各端差异,可实现一个云服务,兼容全网多端平台。
<!-- 开发者借助`uni-app`,虽然已可以开发所有前端应用。但仍然需要雇佣 PHP 或 Java 等后台开发人员,既有后端人员成本,又有前 / 后端沟通成本。腾讯、阿里、百度小程序虽陆续上线了云开发,但它们均只支持自己的小程序,无法跨端,分散的服务器对开发者更不可取。 -->
开发者基于`uni-app` + `uniCloud`,可实现一个后台服务构建多端应用(App、H5、小程序),开发者可更专注于业务逻辑的实现,开发门槛更低,效率更高。 开发者基于`uni-app` + `uniCloud`,可实现一个后台服务构建多端应用(App、H5、小程序),开发者可更专注于业务逻辑的实现,开发门槛更低,效率更高。
...@@ -10,4 +15,4 @@ ...@@ -10,4 +15,4 @@
- 数据库:可在云函数中读写的 JSON 数据库,并可在uniCloud控制台可视化操作 - 数据库:可在云函数中读写的 JSON 数据库,并可在uniCloud控制台可视化操作
- 存储:在应用前端直接上传或下载云端文件,并可在uniCloud控制台进行可视化管理。 - 存储:在应用前端直接上传或下载云端文件,并可在uniCloud控制台进行可视化管理。
`uniCloud` 公测期间免费使用。 `uniCloud` 目前处于公测阶段,公测期间免费使用。
\ No newline at end of file \ No newline at end of file
`uniCloud`云函数中可访问云数据库。
鉴于安全问题,暂不支持客户端直接访问数据库。
## 获取数据库的引用 ## 获取数据库的引用
```js ```js
const db = uniCloud.database(Object DBOptions); const db = uniCloud.database();
``` ```
**DBOptions参数说明** <!-- **DBOptions参数说明**
|字段 |类型 |必填 |描述 |平台差异说明 | |字段 |类型 |必填 |描述 |平台差异说明 |
|:-: |:-: |:-: |:-: |:-: | |:-: |:-: |:-: |:-: |:-: |
|spaceId |String |否 |服务空间ID |仅腾讯云支持 | |spaceId |String |否 |服务空间ID |仅腾讯云支持 |
-->
## 新增集合 <!-- ## 新增集合
如果集合已存在,则报错。 如果集合已存在,则报错。
``` ```
db.createCollection(collectionName) db.createCollection(collectionName)
``` ```
-->
## 获取集合的引用 ## 获取集合的引用
```js ```js
...@@ -127,9 +131,9 @@ const collection = db.collection('user'); ...@@ -127,9 +131,9 @@ const collection = db.collection('user');
}) })
``` ```
2. 地理位置 <!-- 2. 地理位置
参考:[GEO地理位置](#GEO地理位置) 参考:[GEO地理位置](#GEO地理位置) -->
3. Null 3. Null
...@@ -154,6 +158,8 @@ collection.add({ ...@@ -154,6 +158,8 @@ collection.add({
}); });
``` ```
Tips:云服务商为阿里云时,若集合不存在,调用add方法会自动创建集合
方法2: collection.doc().set(data) 方法2: collection.doc().set(data)
也可通过 `set` 方法新增一个文档,需先取得文档引用再调用 `set` 方法。 也可通过 `set` 方法新增一个文档,需先取得文档引用再调用 `set` 方法。
...@@ -165,6 +171,7 @@ collection.doc().set({ ...@@ -165,6 +171,7 @@ collection.doc().set({
}); });
``` ```
## 查询文档 ## 查询文档
支持 `where()``limit()``skip()``orderBy()``get()``update()``field()``count()` 等操作。 支持 `where()``limit()``skip()``orderBy()``get()``update()``field()``count()` 等操作。
...@@ -173,6 +180,7 @@ collection.doc().set({ ...@@ -173,6 +180,7 @@ collection.doc().set({
注:默认取前100条数据,最大取前100条数据。 注:默认取前100条数据,最大取前100条数据。
### 添加查询条件 ### 添加查询条件
collection.where() collection.where()
参数 参数
...@@ -200,6 +208,7 @@ db.collection('goods').where({ ...@@ -200,6 +208,7 @@ db.collection('goods').where({
``` ```
### 获取查询数量 ### 获取查询数量
collection.count() collection.count()
参数 参数
...@@ -226,6 +235,7 @@ db.collection('goods').where({ ...@@ -226,6 +235,7 @@ db.collection('goods').where({
### 设置记录数量 ### 设置记录数量
collection.limit() collection.limit()
参数说明 参数说明
...@@ -243,6 +253,7 @@ collection.limit(1).get().then(function(res) { ...@@ -243,6 +253,7 @@ collection.limit(1).get().then(function(res) {
``` ```
### 设置起始位置 ### 设置起始位置
collection.skip() collection.skip()
参数说明 参数说明
...@@ -260,6 +271,7 @@ collection.skip(4).get().then(function(res) { ...@@ -260,6 +271,7 @@ collection.skip(4).get().then(function(res) {
``` ```
### 对结果排序 ### 对结果排序
collection.orderBy() collection.orderBy()
参数说明 参数说明
...@@ -507,7 +519,8 @@ db.collection('articles').where({ ...@@ -507,7 +519,8 @@ db.collection('articles').where({
``` ```
## 删除文档 ## 删除文档
方式1 通过指定文档ID
**方式1 通过指定文档ID删除**
collection.doc(_id).remove() collection.doc(_id).remove()
...@@ -525,7 +538,7 @@ collection.get() ...@@ -525,7 +538,7 @@ collection.get()
}); });
``` ```
方式2 条件查找文档然后直接批量删除 **方式2 条件查找文档然后直接批量删除**
collection.where().remove() collection.where().remove()
...@@ -669,7 +682,7 @@ db.collection('comments').doc('comment-id').update({ ...@@ -669,7 +682,7 @@ db.collection('comments').doc('comment-id').update({
删除数组头部元素。使用同pop 删除数组头部元素。使用同pop
## GEO地理位置 <!-- ## GEO地理位置
注意:**如果需要对类型为地理位置的字段进行搜索,一定要建立地理位置索引** 注意:**如果需要对类型为地理位置的字段进行搜索,一定要建立地理位置索引**
...@@ -864,8 +877,8 @@ db.collection('user').where({ ...@@ -864,8 +877,8 @@ db.collection('user').where({
}) })
}) })
``` ```
-->
## 数据库实时推送 <!-- ## 数据库实时推送
监听指定集合中符合查询条件的文档,通过onchange回调获得文档的变化详情 监听指定集合中符合查询条件的文档,通过onchange回调获得文档的变化详情
(where参数为查询条件 参考 [查询文档](#查询文档)) (where参数为查询条件 参考 [查询文档](#查询文档))
...@@ -904,11 +917,11 @@ db.collection('user').where({ ...@@ -904,11 +917,11 @@ db.collection('user').where({
```js ```js
ref.close() ref.close()
``` ```
-->
## 平台差异 <!-- ## 平台差异
|差异项 |说明 | |差异项 |说明 |
|:-: |:-: | |:-: |:-: |
|add |使用阿里云时在集合不存在的时候调用会自动创建集合 | |add |使用阿里云时在集合不存在的时候调用会自动创建集合 |
|数据库实时推送 |阿里云暂不支持 | |数据库实时推送 |阿里云暂不支持 |
|GEO地理位置 |阿里云暂不支持 | |GEO地理位置 |阿里云暂不支持 | -->
\ No newline at end of file \ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册