问题描述
我正在尝试将一些字段的数据类型从字符串更新为布尔值。我在mongo shell中使用以下代码:
db.SampleTest.find().forEach( function (d) {
d.smoke = new Boolean(d.smoke);
db.SampleTest.save(d);
});
但是在mongodb指南针中查看时,它将字段更新为对象类型。请参考图片
如何将字段类型更新为布尔值?
蒙哥罗盘

解决方法
如果您使用 MongoDB 4.2 ,则以下是修复程序。您需要使用$toBool和$set运算符。
db.SampleTest.find().forEach( function (d) {
db.SampleTest.updateOne({"_id":d._id},[{"$set":{"smoke":{"$toBool": "$smoke"}}}])
})