【问题标题】:Mongo DB - Changing data type to Boolean resulting in object typeMongodb - 将数据类型更改为布尔值导致对象类型
【发布时间】:2020-10-19 00:41:41
【问题描述】:

我正在尝试将少数字段的数据类型从字符串更新为布尔值。我在 mongo shell 中使用以下代码:

db.SampleTest.find().forEach( function (d) {
d.smoke = new Boolean(d.smoke);
db.SampleTest.save(d);
});

但是当在 mongodb compass 中查看时,它会将字段更新为对象类型。请参考图片

如何将字段类型更新为布尔值?

蒙古指南针

【问题讨论】:

    标签: mongodb types mongo-shell


    【解决方案1】:

    如果您使用 MongoDB 4.2,则以下是修复方法。您需要使用$toBool$set 运算符。

    db.SampleTest.find().forEach( function (d) {
        db.SampleTest.updateOne({"_id":d._id},[{"$set":{"smoke":{"$toBool": "$smoke"}}}])
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-09
      • 1970-01-01
      • 2018-02-09
      • 1970-01-01
      • 2017-04-08
      相关资源
      最近更新 更多