其他分享
首页 > 其他分享> > 4.27-云开发

4.27-云开发

作者:互联网

云开发

云函数创建

先选择好环境

在这里插入图片描述

然后再在[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QhOlZJKW-1619532826033)(C:\Users\86157\AppData\Roaming\Typora\typora-user-images\image-20210427220421272.png)]

右键新建 Node.js 云函数创建

云函数的增删改查

选择好项目的环境后都需要配置:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wzoIpLvi-1619532826034)(C:\Users\86157\AppData\Roaming\Typora\typora-user-images\image-20210427213545088.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XS70DV5q-1619532826036)(C:\Users\86157\AppData\Roaming\Typora\typora-user-images\image-20210427220720930.png)]

获取音乐列表

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FpVm2wGu-1619532826037)(C:\Users\86157\AppData\Roaming\Typora\typora-user-images\image-20210427220635288.png)]

新增一条数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LuFPdfdu-1619532826039)(C:\Users\86157\AppData\Roaming\Typora\typora-user-images\image-20210427214707775.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CsJlQbo5-1619532826040)(C:\Users\86157\AppData\Roaming\Typora\typora-user-images\image-20210427213938599.png)]

查询单条数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BXQWWFzp-1619532826041)(C:\Users\86157\AppData\Roaming\Typora\typora-user-images\image-20210427214643949.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D9pK0b1n-1619532826041)(C:\Users\86157\AppData\Roaming\Typora\typora-user-images\image-20210427214412846.png)]

获取多条数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nvQxmAxf-1619532826042)(C:\Users\86157\AppData\Roaming\Typora\typora-user-images\image-20210427214631721.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rVGgSzl4-1619532826042)(C:\Users\86157\AppData\Roaming\Typora\typora-user-images\image-20210427214532949.png)]
可以使用 where 方法 构造复杂的查询条件完成复杂的查询任务

更新数据

cloud.init({
  env: 'test-7gbw8cqi4865957d',
  traceUser: true,
})

// 云函数入口函数
const db=cloud.database()
exports.main = async (event, context) => {
  //使用 update 方法可以局部更新,局部更新指只有指定的字段会得到更新,其他字段不受影响。
  let res= await db.collection('todos').doc('17453ede60865b920459efa57c8ff18f').update({
    // data 传入需要局部更新的数据
    data: {
      // 表示将 done 字段置为 true
      done: true
    }
  })
  return res
}

删除一条数据

cloud.init({
  env: 'test-7gbw8cqi4865957d',
  traceUser: true,
})

// 云函数入口函数
const db=cloud.database()
exports.main = async (event, context) => {
  let res =await db.collection('todos').doc('17453ede60865b920459efa57c8ff1scd').remove()
  return res

}

删除多条数据

cloud.init({
  env: 'test-7gbw8cqi4865957d',
  traceUser: true,
})

// 云函数入口函数
const db=cloud.database()
exports.main = async (event, context) => {
  return await db.collection('todos').where({
    // 删除的条件
    done: true
  }).remove()
  
}

路由

安装

npm install --save tcb-router

在云函数中引入

const TcbRouter=require('tcb-router')

在云函数中创建实例

exports.main = async (event, context) => {
  const app = new TcbRouter({ event })
}

使用

// 云函数入口文件
const cloud = require('wx-server-sdk')
// 引入路由
const TcbRouter=require('tcb-router')
const axios=require('axios')

cloud.init({
  env: 'test-7gbw8cqi4865957d',
  traceUser: true,
})

// 云函数入口函数
exports.main = async (event, context) => {
  const app = new TcbRouter({ event });
  app.router('playlist',async (ctx,next)=>{
    let res=await cloud
      .database()
      .collection('playlist')
      .skip(event.start)  //  跳过第某条,从第后面1条开始到第count条
      .limit(event.count)
      .orderBy('createTime','desc')
      .get()
    ctx.body=res
}

标签:const,函数,db,开发,true,event,cloud,4.27
来源: https://blog.csdn.net/cjjaixuexi/article/details/116211505