创建函数之前要在【云开发控制台】建立集合
然后在【微信开发者工具】新建Node.js 云函数
新建或者修改后的函数要记得上传
1. 插入数据的云函数: addData
// 云函数入口文件
const cloud = require('./node_modules/wx-server-sdk')
cloud.init()
const db = cloud.database()
// 云函数入口函数
exports.main = async (event, context) => {
//插入数据
return await db.collection('user_base').add ({
data: {
username: event.username, //前端提交过来的数据
age: event.age,
sex: event.sex,
createTime: Date.now()
}
})
}
小程序调用云函数向云数据库插入数据
addBtn() {
wx.cloud.callFunction({
name: 'addData', // 云函数名称
data: {
username: '李小璐',
age: 28,
sex: '女'
},
success(res) {
console.log('成功了:', res)
},
fail(err) {
console.log('出错了:' , err)
},
complete() {
}
})
},
2. 删除数据的云函数:deleteData
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
// 云函数入口函数
exports.main = async (event, context) => {
var filter = event.filter ? event.filter : {} ; //接收前端传递过来的条件,默认为空,格式 {key:'values'}
// 把匹配条件的记录批量删除
try {
return await db.collection("user_base").where(filter).remove( )
} catch(err) {
console.log(err);
}
}
小程序调用云函数删除数据
deleteBtn() {
wx.cloud.callFunction({
name: 'deleteData', // 云函数名称
data: { // 传给云函数的参数
filter:{username: '李小璐'} //删除条件,默认为空,格式 {key:'values'}
},
success(res) {
console.log('成功了:', res)
},
fail(err) {
console.log('出错了:' , err)
},
complete() {
}
})
}
3.修改数据的云函数:updateData
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
// 云函数入口函数
exports.main = async (event, context) => {
var filter = event.filter ? event.filter : {} ; //接收前端传递过来的更新条件,默认为空,格式 {key:'values'}
// 批量更新数据,把匹配条件的记录更改为20岁
return await db.collection("user_base").where(filter).update({
data:{
age:20
}
})
/*
// 单条更新数据,把 _id=e62469b25fcde25c010afdaa0a33b0ea 的年龄更改为20岁
return await db.collection("user_base").doc('e62469b25fcde25c010afdaa0a33b0ea').update({
data:{
age:20
}
})
*/
}
小程序调用云函数修改数据
updateBtn() {
wx.cloud.callFunction({
name: 'updateData', // 云函数名称
data: { // 传给云函数的参数
filter:{username: '李小璐'} //更新条件,格式 {key:'values'}
},
success(res) {
console.log('成功了:', res)
},
fail(err) {
console.log('出错了:' , err)
},
complete() {
}
})
},
4.查询数据的云函数:queryData
// 云函数入口文件
const cloud = require('./node_modules/wx-server-sdk')
cloud.init()
const db = cloud.database()
// 云函数入口函数
exports.main = async (event, context) => {
var filter = event.filter ? event.filter : {} ; //筛选条件,默认为空,格式 {key:'values'}
return await db.collection('user_base').where( filter ).get() //查询数据并返回给前端
}
小程序调用云函数查询数据
queryBtn() {
wx.cloud.callFunction({
name: 'queryData', // 云函数名称
data: { // 传给云函数的参数
filter:{} //筛选条件,默认为空(即查询所有记录),格式 {key:'values'}
},
success(res) {
console.log('成功了:', res)
},
fail(err) {
console.log('出错了:' , err)
},
complete() {
}
})
},