首先,在操作集合中的数组时,我们要确定集合的权限。
其次,就是在操作集合时,需要给出当前操作者的身份以及能够筛选出数据的判断值。确认当前操作者的身份是判断当前用户是否有权限对这条数据进行更改。
最后一点,就是在编写函数时,最好使用云函数。
接下来,我就通过实际的代码展示一下:
先看集合数组内容,要对其进行增加数据和删除数据。
增加数据:
云函数
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
const _ = db.command
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
try {
await db.collection('division')
.where({
openID:wxContext.OPENID,
_id:event._id
})
.update({
data:{
productionImage: _.push({url:event.fileID})
}
})
} catch (error) {
console.error(error)
}
return {
data:event
}
}
删除数据:
删除数据时,我是通过判断url对应的值来进行删除的,使用的是pull方法
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
const _ = db.command
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
try {
return await db.collection('division')
.where({
openID:wxContext.OPENID,
_id:event._id
}).update({
data:{
productionImage: _.pull({
url: _.eq(event.fileID)
})
}
})
} catch (error) {
console.error(error)
}
}