在开发过程中由于之前的程序在村mongodb库的时候数据存的是int类型,现在想要将原来存为int类型的数据转换为double类型的数据.首先参考了​​​​​​MongoDB 修改数据类型_昵称你猜8的博客-CSDN博客_mongodb修改数据类型

和 mongodb修改字段数据类型_林老师带你学编程的博客-CSDN博客_mongodb修改字段数据

两篇文章,了解到可以使用脚本的方式进行修复数据.在测试过程中,修改数据时并未成功,后面又参考了如何在MongoDB shell中将NumberDecimal转换为Double? - 问答 - 云+社区 - 腾讯云

这里的解决方案. 下面直接展示效果:

原来的数据样式是这样的为int32类型:

先粘出来要执行的命令:

db.collention.updateMany(
    { 资产余额: { $exists: true },_id:"211904190504570225"},
    [ { $addFields: { 资产余额: { $toDouble: "$资产余额" }}}]
)

 我试了一下:$addFields是添加一个字段,如果字段已存在就会覆盖掉,那我们就可以写成要修改的类型的字段就可以了,只是将这个字段 toDouble类型了,当然看官网上也有很多其他的操作

 好,我们直接运行这个命令:

重新查一下:

 

成功变成double类型了 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐