为什么我的 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 } }

更新于:2020 年 5 月 13 日

107 次浏览

开启您的 职业生涯

完成课程获得认证

开始
广告