MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

mongodb scala driver - tidak dapat mengambil dokumen

Oke jadi, saya menyalahkan diri saya sendiri (dan dokumentasi mistik pengemudi)

Driver ini tidak sinkron, jadi kita hanya perlu menunggu sampai selesai... Jadi kesimpulannya menggunakan itu (ditemukan di sini ) yang benar-benar digunakan dalam dokumentasi tanpa di dalam driver itu sendiri

implicit class DocumentObservable[C](val observable: Observable[Document]) extends ImplicitObservable[Document] {
   override val converter: (Document) => String = (doc) => doc.toJson
}

implicit class GenericObservable[C](val observable: Observable[C]) extends ImplicitObservable[C] {
   override val converter: (C) => String = (doc) => doc.toString
}

trait ImplicitObservable[C] {
  val observable: Observable[C]
  val converter: (C) => String

  def results(): Seq[C] = Await.result(observable.toFuture(), Duration(10, TimeUnit.SECONDS))
  def headResult() = Await.result(observable.head(), Duration(10, TimeUnit.SECONDS))
  def printResults(initial: String = ""): Unit = {
    if (initial.length > 0) print(initial)
    results().foreach(res => println(converter(res)))
  }
  def printHeadResult(initial: String = ""): Unit = println(s"${initial}${converter(headResult())}")
}

Dan mengubah ambil seperti itu :

def retrieveDocument(id: Int, collectionName: String, databaseName: String, url: String): Option[Document] = {
var res: Option[Document] = None
getMongoCollectionImmutable(collectionName, databaseName, url)
  .find(Filters.equal("_id", id))
  .limit(1).results().foreach({ x => res = Some(x) })
res

}

Ini memperbaiki masalah saya.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara menggunakan transaksi MongoDB menggunakan Mongoose?

  2. Bagaimana cara menerapkan oAuth2 bersama dengan otentikasi JWT di boot musim semi?

  3. elemMatch dikombinasikan dengan bidang kueri lain di Mongoose

  4. Mongodb\BSON\Regex Php:Perform Like Match

  5. Migrasi Data dari Oracle ke Mongo DB