>

삽입이 정상적으로 작동합니다. 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/

  • 답변 # 1

    데이터에 null 값이있을 수 있으며 이로 인해 문제가 발생합니다.

    mongo Java Driver 3.0을 사용하여 Mongo 컬렉션에서 고유 한 필드 값을 가져올 때 예외가 발생합니다

  • 이전 ionic4 - Ionic Alpha v4에서 라우팅을 사용하는 단계
  • 다음 javascript - Nodejs 디버깅 흐름