我的覆盆子pi上的mongodb出了问题。我正在运行https://github.com/RickP/mongopi
版本2.1.1问题是:我无法在数据库中插入1.937
的值。以下是mongo
shell的输出结果:
> db.sensor.drop()
true
我首先清理集合,所以一切都很干净
> db.sensor.insert({'sensor_id': 3, 'value': 1.937})
> db.sensor.findOne()
{
"_id" : ObjectId("5134fb85e59d6e0efe256a79"),
"sensor_id" : 3,
"value" : -2.960244045726579e-47
}
正如您所看到的,1.937的值在数据库中存储错误...这真的很奇怪。
如果我运行以下命令:
> db.sensor.insert({'sensor_id': 3, 'value': 2})
然后我得到
> db.sensor.find()
{ "_id" : ObjectId("5134fb85e59d6e0efe256a79"), "sensor_id" : 3, "value" : -2.960244045726579e-47 }
{ "_id" : ObjectId("5134fcece59d6e0efe256a7a"), "sensor_id" : 3, "value" : 2 }
正如你所看到的,第二个条目是好的...问题只在于浮动值。
为什么?
感谢
答案 0 :(得分:0)
无法在MongoDB 2.1.1的本地实例中重现它
MongoDB shell version: 2.1.1
connecting to: test
> db.version()
2.1.1
> db.xx.drop()
false
> db.xx.insert({'sensor_id': 3, 'value': 1.937})
> db.xx.insert({'sensor_id': 3, 'value': 3})
> db.xx.find()
{ "_id" : ObjectId("51586b66cff42dd9c4bc608c"), "sensor_id" : 3, "value" : 1.937 }
{ "_id" : ObjectId("51586b6ccff42dd9c4bc608d"), "sensor_id" : 3, "value" : 3 }