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});

 

db.t_element_access_reason.find( { "sessionId" : NumberLong("6421359123204194756") } )

 

 

   场景:

    在命令手动的修改签到表的整型字段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});

 

db.t_element_access_reason.find( { "sessionId" : NumberLong("6421359123204194756") } )

 

 

相关文章:

  • 2021-12-21
  • 2021-12-07
  • 2021-07-09
  • 2021-08-28
  • 2021-08-06
  • 2022-01-19
  • 2021-10-07
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-20
  • 2022-12-23
  • 2022-01-21
  • 2021-11-03
相关资源
相似解决方案