Ich benutze playframework mit "org.mongodb.scala" %% "Mongo-scala-Treiber" % "1.0.1" und diesen Code haben:Abonnieren Abfrage mongo funktioniert nicht
val collection = Mongo.db.getCollection("regionAuth")
def getRegions = {
val find: Observable[Document] = collection.find()
Logger.info("regions searching")
find.subscribe(new Observer[Document] {
override def onError(e: Throwable): Unit = Logger.error("regions error", e)
override def onSubscribe(subscription: Subscription): Unit = Logger.info("subscribed")
override def onComplete(): Unit = Logger.info("regions done")
override def onNext(result: Document): Unit = Logger.info("region accepted")
})
find.map { region =>
Logger.info("region accepted by map")
region
}
find.foreach(_ => Logger.info("region accepted by foreach"))
find.toFuture().onComplete {
case Success(r) => Logger.info("regions accepted as future seq " + r.size)
case Failure(e) => Logger.error("regions error as future", e)
}
find
}
Und es Drucke:
[info] Anwendung - Regionen suchen
[info] Anwendung - abonniert
[info] Anwendung - Region von foreac akzeptiert h
[info] Anwendung - akzeptiert Region von foreach
[info] Anwendung - Region von foreach akzeptiert
[info] Anwendung - Regionen als zukünftiger seq akzeptiert 3
Warum abonnieren 's Veranstaltungen und Karte nicht funktionieren?
Oder Sie können sich https://github.com/sgodbillon/reactivemongo-tailablecursor-demo ansehen – cchantep