Scala mongodb driver



插入工作正常。问题出在 find(( 上

对于查找((,

val collection: MongoCollection[Machine] =    mongoDB.getCollection(DbConstants.COLLECTION_NAME_MACHINE)
collection.find().subscribe(new Observer[Machine] {
override def onNext(result: Machine): Unit = println(s"Machine is $result")
override def onError(e: Throwable): Unit = e.printStackTrace()
override def onComplete(): Unit = println("Completed")
})

它显示错误:

org.bson.BsonInvalidOperationException: readString can only be called when CurrentBSONType is STRING, not when CurrentBSONType is OBJECT_ID.

在计算机的数据模型中是:

case class Machine(_id: String,
@BsonProperty(DbConstants.FIELD_SITE_ID)siteId: BsonObjectId)

以下教程来自: http://mongodb.github.io/mongo-scala-driver/2.2/getting-started/quick-tour-case-classes/

数据中可能有空值,这导致了问题。

使用 mongo Java 驱动程序 3.0 从 Mongo 集合获取字段的不同值时出现异常

最新更新