在开发过程中由于之前的程序在村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

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐