Mongodb Mongo scala驱动程序:浮点值可以';不可添加
我在scala mongo驱动程序中遇到了奇怪的问题。当我执行以下部分时:Mongodb Mongo scala驱动程序:浮点值可以';不可添加,mongodb,scala,mongo-scala-driver,Mongodb,Scala,Mongo Scala Driver,我在scala mongo驱动程序中遇到了奇怪的问题。当我执行以下部分时: val doc:org.mongodb.scala.Document = org.mongodb.scala.Document( "junctionId" -> junctionId, "efficiencyArray" -> efficiencyMap.map(p=> org.mongodb.scala.Document( "minute" -> p._1, "effi
val doc:org.mongodb.scala.Document = org.mongodb.scala.Document(
"junctionId" -> junctionId,
"efficiencyArray" -> efficiencyMap.map(p=> org.mongodb.scala.Document(
"minute" -> p._1,
"efficiency" -> p._2,
"debugStuff" -> net.liftweb.json.Serialization.write(p._3)
)),
"totalCarCount" -> totalCarCount
)
它给了我以下错误:
Error:(182, 22) type mismatch;
found : (String, Float)
required: org.mongodb.scala.bson.BsonMagnets.CanBeBsonElement
"efficiency" -> p._2,
但当我做以下事情时:
val doc:org.mongodb.scala.Document = org.mongodb.scala.Document(
"junctionId" -> junctionId,
"efficiencyArray" -> efficiencyMap.map(p=> org.mongodb.scala.Document(
"minute" -> p._1,
"efficiency" -> 2.555,
"debugStuff" -> net.liftweb.json.Serialization.write(p._3)
)),
"totalCarCount" -> totalCarCount
)
它起作用了。然而,我的p._2
是Float
那么这里的问题是什么
Scala version: 2.11.8
mongo-scala-driver version: 2.1.0
更新:
我将
p.2
类型从Float
更改为Double
,并且它工作正常。但仍然很奇怪。将p.\u 2
类型从浮点型
更改为双精度
,并且工作正常。这仍然很奇怪。也许你应该使用NumberDecimal(例如0.99)