我正在使用 mongoimport 将 csv 导入 mongodb 。由于 csv 我无法指定字段类型,0将被视为一个int,但我需要它是一个double。所以我试着编写一个JavaScript文件来进行转换:
db.col.find().forEach( function(obj) { obj.n = new double( obj.n ); db.col.save(obj); } )
但它报告错误:
Cannot use 'commands' readMode, degrading to 'legacy' mode
2016-04-12T17:08:15.286+0800 E QUERY [thread1] ReferenceError: double is not
defined :
@(shell):1:41
DBQuery.prototype.forEach@src/mongo/shell/query.js:477:1
@(shell):1:1
我尝试了Double
,NumberDouble
和numberDouble
这些都没有效果。
答案 0 :(得分:0)
尝试使用
db .col
.find()
.forEach(function(obj) {
obj.n = parseFloat(obj.n) || 0;
db.col.save(obj);
});