微信小程序3-云开发

云开发

 开发者可以使用云开发开发微信小程序、小游戏,无需搭建服务器,即可使用云端能力
 云开发提供的几大基础能力:
  1.云函数:无需自建服务器
  2.数据库:无需自建数据库
  3.储存:无需自建存储和 CDN
  4.云调用:原生微信服务集成

1.数据库

1-1增删改查

1-1-1初始化

 在开始使用数据库 API 进行增删改查操作之前,需要先获取数据库的引用
const db = wx.cloud.database()
 获取其它环境的数据库引入:

const testDB = wx.cloud.database({
	//env为环境名
	env: 'test'
})
1-1-2 添加数据

创建集合
微信小程序3-云开发_第1张图片add方法添加数据

//collection内添加的是 集合名
//add方法用来往指定集合中添加一条数据
db.collection('...').add({
  // data 字段表示需新增的 JSON 数据
  data: {

  },
  //添加成功后执行的函数
  success: function(res) {
    // res 是一个对象,其中有 _id 字段标记刚创建的记录的 id
    console.log(res)
  }
})

 只要传入的对象中没有success,failcomplete,add方法就会返回一个Promise

db.collection('...').add({
  data: {

  }
}).then(res=>{
	console.log(res)
})
1-1-3删除数据

remove方法

删除一条数据
	// collection同上 doc中添加的是生成数据后其中的 _id的 属性值
	db.collection('...').doc('...').remove({
	  success: function(res) {
	    console.log(res.data)
	  }
	})
1-1-4更新数据

update方法,局部更新,更新一条数据或一个集合中的数据

db.collection('...').doc('...').update({
  // data 传入需要局部更新的数据
  data: {
    // 表示将 done 字段置为 true
    done: true
  },
  success: function(res) {
    console.log(res)
  }
})
1-1-5查询数据

get方法,获取一条数据

获取一条数据
	db.collection('...').doc('...').get({
	  success: function(res) {
	    // res.data 包含该记录的数据
	    console.log(res.data)
	  }
	})
	
获取多条数据,通过  where  方法
where方法中可以理解为筛选条件
	db.collection('...').where({
	  sex:'男',
	  age: 20
	})
	.get({
	  success: function(res) {
	    // res输出的数据为所有年龄大于20的男性
	    console.log(res.data)
	  }
	})
获取一个集合的数据
	db.collection('...').get({
	  success: function(res) {
	    // res是一个包含集合中有权限访问的所有记录的数据,不超过 20 条
	    console.log(res.data)
	  }
	})
1-1-6 查询指令

 这些指令都依赖db.command对象

1.eq	等于
2.neq	不等于
3.lt	小于
4.lte	小于或等于
5.gt	大于
6.gte	大于或等于
7.in	字段值在给定数组中
8.nin	字段值不在给定数组中

2.云函数

 云函数即在云端(服务器端)运行的函数
 在项目根目录找到project.config.json文件,新增 cloudfunctionRoot字段,指定本地已存在的目录作为云函数的本地根目录

云函数模板
// 云函数入口文件
const cloud = require('wx-server-sdk')
//先初始化,再执行别的操作
cloud.init()
//使用增删改查功能前先声明
const db = cloud.database();
const _ = db.command;

// 云函数入口函数
//event 是触发云函数的事件
//context 对象包含了此处调用的调用信息和运行状态
//函数内可以对数据库的数据进行操作
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()

  return {
    event,
    openid: wxContext.OPENID,
    appid: wxContext.APPID,
    unionid: wxContext.UNIONID,
  }
}

 在小程序中调用云函数

wx.cloud.callFunction({
  // 云函数名称
  name: '...',
  // 传给云函数的参数
  data: {
    a: 1,
    b: 2,
  },
  success: function(res) {
    console.log(res) // 3
  },
  fail: console.error
})

你可能感兴趣的:(微信小程序3-云开发)