MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Alpakka MongoDB - określ typ w MongoSource

Nie jest to jeszcze opublikowane, ale w głównej gałęzi Alpakki MongoSource.apply przyjmuje parametr typu:

object MongoSource {
  def apply[T](query: Observable[T]): Source[T, NotUsed] =
    Source.fromPublisher(ObservableToPublisher(query))
}

Dlatego wraz z nadchodzącym wydaniem 0.18 Alpakki, będziesz mógł wykonać następujące czynności:

val source: Source[TodoMongo, NotUsed] = MongoSource[TodoMongo](todoCollection.find())

Zwróć uwagę, że source tutaj zakłada, że ​​todoCollection.find() zwraca Observable[TodoMongo]; dostosuj typy według potrzeb.

W międzyczasie możesz po prostu dodać powyższy kod ręcznie. Na przykład:

package akka.stream.alpakka.mongodb.scaladsl

import akka.NotUsed
import akka.stream.alpakka.mongodb.ObservableToPublisher
import akka.stream.scaladsl.Source
import org.mongodb.scala.Observable

object MyMongoSource {
  def apply[T](query: Observable[T]): Source[T, NotUsed] =
    Source.fromPublisher(ObservableToPublisher(query))
}

Pamiętaj, że MyMongoSource jest zdefiniowany jako rezydent akka.stream.alpakka.mongodb.scaladsl pakiet (np. MongoSource ), ponieważ ObservableToPublisher jest prywatną klasą pakietu. Użyjesz MyMongoSource w taki sam sposób, w jaki używasz MongoSource :

val source: Source[TodoMongo, NotUsed] = MyMongoSource[TodoMongo](todoCollection.find()) 



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Sterownik Java MongoDB:autoConnectRetry

  2. Sesje Connect-mongo nie są usuwane automatycznie

  3. Jak mogę sortować i ograniczać z Mongoose?

  4. nie mogę zainstalować mongodb na Ubuntu 16.10

  5. Projekcja w zapytaniu klauzuli Where dokumentu osadzonego w kolekcji MongoDB przy użyciu C#