《微信小程序开发从入门到实战》学习四十

4.2 云开发JSON数据库
4.2.11 更新数据

使用数据库API更新数据有两种方法:一.将记录局部更新的update方法;二.以替换的方式更新记录的set方法

update方法可以局部更新一个记录或一个集合的多个记录,更新时只有指定字段更新,其他字段不更新。例如,下面这段代码可以将一个待办事项置为已完成:

db.collection('testOne').doc('id-1').update({

data: { // data 传入需要局部更新的数据

done: true // 表示将 done 字段置为true

}

}).then(res => {

console.log(res)

})

(之前新增过done这条记录,翻出这条记录的id值替换id-1,可以来回替换done的值true还是false,开心)

updated表示被更新的记录的数量

上面的这段代码更新了集合中的一个记录。

如果只希望更新集合中满足某种条件的记录,可以使用where方法,接着使用update方法。例如,下面这段代码将集合中所有未完成的待办事项的progress字段增加10:

db.collection('testOne').where({

done: false

}).update({ //where方法查找的记录没有progress字段时,会增加这个字段,值为10

data: {

progress: db.command.inc(10) //增加10

}

})

.then(res => {

console.log(res)

})

预览效果如下:

(实际开发时没有可用的数据记录,会新增修改已经可以自己准备了,就不详叙述了)

想将集合的某条记录替换更新为新记录,可以使用set方法实现,如以下代码所示:

db.collection('testOne').doc('id-1').set({

data: {

progress: 99,

mm: 'aaaaaaaaaaaaaa'

}

})

替换更新意味着用传入的对象替换指定的记录,如果指定 ID 的记录不存在,则会自动创建该记录,该记录将拥有指定的 ID。

预览效果如下:

相关推荐
西西弗Sisyphus19 分钟前
模型训练 不同批次大小与学习率下的训练损失对比(1)
学习·batchsize·learning rate
知识分享小能手22 分钟前
概理论与数理统计学习教程,从入门到精通,平稳随机过程(27)
学习·数据挖掘·概率论
2601_9672642834 分钟前
极客时间 AI Agent 全栈工程师训练营,全套学习资源齐全
人工智能·学习
薛定e的猫咪38 分钟前
(NeurIPS 2022)GraphGPS:MPNN 与全局注意力的融合之道
人工智能·深度学习·学习·算法
Z59981784141 分钟前
c#软件开发学习笔记--WPF(Canvas、数据绑定、MVVM模式、值转换器)
笔记·学习·c#
茯苓gao42 分钟前
从零开发 EtherCAT 主站(六):SOEM 初始化流程详解,主站是如何发现所有从站的?
笔记·嵌入式硬件·学习·信息与通信
老当益壮梁奶奶1 小时前
Linux软件编程学习笔记(九):消息队列、共享内存与信号灯详解
linux·c语言·笔记·学习
MartinYeung51 小时前
[论文学习]激活差异揭示后门:SAE架构对比研究
人工智能·学习·架构
小雪崩1 小时前
嵌入式学习 day35:进程间通信-消息队列、共享空间及有名信号量
linux·c语言·学习
一条破秋裤2 小时前
STM32 学习笔记:STM32 简介与学习路线
笔记·stm32·学习