为什么我的 MongoDB 查询在浮点数转换中总返回 0?如何修复?
对于浮点数转换,在 MongoDB 中使用 parseFloat()。让我们创建一个包含文档的集合 -
> db.demo523.insertOne({"details":{values:"-0.45"}});{ "acknowledged" : true, "insertedId" : ObjectId("5e89b7efb3fbf26334ef611f") }
使用 find() 方法显示集合中的所有文档 -
> db.demo523.find();
这将生成以下输出 -
{ "_id" : ObjectId("5e89b7efb3fbf26334ef611f"), "details" : { "values" : "-0.45" } }
以下是执行浮点数转换不会生成 0 的查询 -
>db.getCollection('demo523').find({}).forEach( function(d) ... { d.details.values = parseFloat( d.details.values ) ... db.getCollection('demo523').save(d)} );
使用 find() 方法显示集合中的所有文档 -
> db.demo523.find();
这将生成以下输出 -
{ "_id" : ObjectId("5e89b7efb3fbf26334ef611f"), "details" : { "values" : -0.45 } }
广告