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