插入工作正常。问题在于find()
对于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.
在Machine的数据模型中:
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/
答案 0 :(得分:0)