mongodb 更新数据时int32变为double的解决办法

Posted liwei1994

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongodb 更新数据时int32变为double的解决办法相关的知识,希望对你有一定的参考价值。

   场景:

    在命令手动的修改签到表的整型字段synState,multi参数是可以更新多条,如果是false则更新一条。

db.getCollection("ClassRecordOneDetail").update({synStateTime:{"$gt":new Date("2019-05-12")},synStateTime:{"$lt":new Date("2019-05-13")}},{$set:{synState:0}},{multi:true});

更新之后查询发现 synState 变为了 0.0 类型变为了 double 


解决办法:

   在网上找了一下,发现是要加上类型转换才行

   db.getCollection("ClassRecordOneDetail").update({synStateTime:{"$gt":new Date("2019-05-12")},synStateTime:{"$lt":new Date("2019-05-13")}},{$set:{synState:NumberInt(0)}},{multi:true});

 

以上是关于mongodb 更新数据时int32变为double的解决办法的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB 之 数据类型

MongoDB中的数据类型

MongoDB中的数据类型

mongodb 数据类型 怎样使用

MongoDB 2.0 认识mogodb及其数据类型

从shell中更新/写入到文档的数字,会变为float类型,怎么解决