Скала Mongodb водитель - PullRequest
0 голосов
/ 03 мая 2018

Вставка работает нормально. Проблема с 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/

1 Ответ

0 голосов
/ 03 мая 2018

У вас могут быть нулевые значения в данных, и это вызывает проблему.

Исключение при получении различных значений поля из коллекции Mongo с использованием Mongo Java Driver 3.0

...