如果类型写入错误,可以通过下面的方式在命令行中修改之。
db.jobtracker_data.find({‘collect_time‘ : { $type : 2 }}).forEach(function(x) { x.collect_time = parseInt(x.collect_time); db.jobtracker_data.save(x); })
本来collect_time字段的值应该是long long,结果不小心变成了string。上面的命令行用$type 为2查找凡是collect_time值的类型为string的文档,并传递一个JavaScript函数给forEach。
x就是当前一条记录(doc),之后很简单,转型并保存。
mongodb 类型文档参考:
http://docs.mongodb.org/manual/reference/operator/query/type/#_S_type
时间: 2024-11-23 21:15:15