一,什么是云开发?
- 云开发为开发者提供完整的云端支持,弱化了后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭,可以让前端程序员拥有开发后端的能力
云开发提供了三种服务支持
- 云函数:(nodejs)
在云端运行的代码,开发者只需编写自身业务逻辑代码。

讯享网 - 云数据库:(mogodb)
- 云存储:
在小程序前端直接上传/下载云端文件,在云开发控制台可视化管理。
大致实现流程
- 前端写好云函数——>上传云服务器——>实现自定义云部署——>前端去调用云函数——>简介通过云函数对数据库进行操作
所以:前端=>全栈
需要注意的事项
- 在app.js文件中我们需要定义云id


- 在云函数index.js文件中定义云id

- 云id在这里(云开发->概览->环境id)

- 千万别忘了选择环境

- 上传并部署安装依赖

- 增量上传

云数据库的创建
- 打开云开发,找到数据库

- 找到我们刚刚创建好的数据库,然后点击添加记录

- 我们选择默认模式,点击+进行创建

云函数的创建
- 找到云函数的文件夹,然后右键新建Node.js云函数

- 右键点击我们创建好的云函数,上传并部署依赖

- 然后打开我们的云开发,找到云函数,看看是否部署成功

如果显示已部署,此时你已经上传好了云函数,接下来就是如何去使用了
云函数的调用(通过云函数操作数据库)
- 在我们需要用到的页面去调用云函数wx.cloud.callFunction(name:“指定数据库云函数名称”)

2.在我们的云函数index.js文件中导入初始化我们的数据库,这样就可以将云函数与数据库建立起了链接
云开发的一些常用api
1.数据排列
- 对数据进行排列(一个条件):db.collection(‘todos’).orderBy(‘progress’, ‘asc’)
//按照待办进度进行升序排列 db.collection('todos').orderBy('progress', 'asc') .get() .then(console.log) .catch(console.error)
讯享网
- 对数据进行排列,多个条件;先按 progress 排降序(progress 越大越靠前)、再按 description 排升序(字母序越前越靠前)取待办事项:
讯享网db.collection('todos') .orderBy('progress', 'desc') .orderBy('description', 'asc') .get() .then(console.log) .catch(console.error)
2.数据分页
- 获取我的第二页的待办事项清单,假设一页 10 条,现在要取第 2 页,则可以指定 skip 10 条记录
db.collection('todos') .where({
_openid: 'xxx', // 填入当前用户 openid }) .skip(10) // 跳过结果集中的前 10 条,从第 11 条开始返回 .limit(10) // 限制返回数量为 10 条 .get() .then(res => {
console.log(res.data) }) .catch(err => {
console.error(err) })
3.搜索查询
- 小程序端
讯享网const db = wx.cloud.database() db.collection('todos').where({
_openid: 'xxx' // 填入当前用户 openid }).get().then(res => {
console.log(res.data) })
- 云函数端
db.collection('todos') .where({
_openid: 'xxx', // 填入当前用户 openid }) .skip(10) // 跳过结果集中的前 10 条,从第 11 条开始返回 .limit(10) // 限制返回数量为 10 条 .get() .then(res => {
console.log(res.data) }) .catch(err => {
console.error(err) })
4.云上传
- callback(回调函数)风格
讯享网wx.cloud.uploadFile({
cloudPath: 'example.png', filePath: '', // 文件路径 success: res => {
// get resource ID console.log(res.fileID) }, fail: err => {
// handle error } })
- Promise 风格
wx.cloud.uploadFile({
cloudPath: 'example.png', filePath: '', // 文件路径 }).then(res => {
// get resource ID console.log(res.fileID) }).catch(error => {
// handle error })














版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/58578.html