QQ小程序的云开发文档中有关于数据库更新数据的相关教程(链接),但是它存在着一个致命的缺陷——不能根据某个或某几个索引进行查找后更新相关记录的数据。但是这个功能其实是很常用的,下面是一种替代方法。
思路:先通过某个索引查找相应记录,再将原记录删除;更新相应属性后,插入新的记录。
首先是数据库的初始化:
const db = qq.cloud.database({
env: '自己创建的云环境ID'
});
const student = db.collection('student') //取名为"student"的集合索引
删除学号为123456的记录
student.where({
number:'123456'
}).remove().then((res) => {
console.log('删除一条记录',res.data);
});
将相应属性进行更新后,插入新记录
student.add({
data:{//这里一定要把所有属性都写出来
number:'123456',
name:'张三', //例:更改姓名属性
}
}).then((res) => {
console.log('增加一条记录:',res.data);
});
这样便可以替代实现根据索引进行查找后更新相应记录的功能。