一、初始化数据库
在进行增删查改操作之前,首先要将数据库中的数据初始化
const db = wx.cloud.database()
二、增删查改
1.插入操作
// collection('user') 获取到数据库中名为 user 的集合
// add 插入操作
db.collection('user').add({
// 要插入的数据
data: {
name: 'Tom',
age: 18
}
}).then(res => {
// 插入数据成功
console.log(res)
}).catch(err => {
// 插入数据失败
console.log(err)
})
注意:直接从云数据库控制台插入的数据是没有openid的
2.删除操作
// remove 删除操作
// primary key 要删除的那条数据的主键id
db.collection('user').doc('primary key')
.remove()
.then(res => {
// 删除数据成功
console.log(res)
}).catch(err => {
// 删除数据失败
console.log(err)
})
3.删除操作(批量删除)
批量删除操作需要调用云函数
3.1建立云函数
新建云函数(batchDelete),在云函数的入口文件中
// 云函数入口文件
const cloud = require('wx-server-sdk')
// 初始化云数据库
const db = wx.cloud.database()
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
try {
// 找到集合user中name为Tom的数据并remove删除
// 因为数据库删除是异步操作,所以要加await
return await db.collection('user').where({
name: 'jane'
}).remove()
} catch (err) {
console.error(err)
}
}
3.2调用云函数
在page的js中调用这个云函数
// callFunction 调用云函数
wx.cloud.callFunction({
// 云函数名称
name: 'batchDelete'
}).then(res => {
console.log(res)
}).catch(err => {
console.error(err)
})
4.更新操作
// update 更新操作
// primary key 要更新的那条数据的主键id
db.collection('user').doc('primary key')
.update({
// 想要更新后的数据
data: {
age: 20
}
}).then(res => {
// 更新数据成功
console.log(res)
}).catch(err => {
// 更新数据失败
console.log(err)
})
5.查询操作
// where 查询操作
db.collection('user').where({
// 查询条件
name: 'Tom'
})
.get()
.then(res => {
// 查询数据成功
console.log(res)
}).catch(err => {
// 查询数据失败
console.log(err)
}