MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Alpakka MongoDB - посочете типа в MongoSource

Това все още не е публикувано, но в главния клон на Alpakka, MongoSource.apply приема параметър тип:

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

Следователно с предстоящото издание 0.18 на Alpakka ще можете да правите следното:

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

Обърнете внимание, че source тук предполага, че todoCollection.find() връща Observable[TodoMongo]; коригирайте типовете според нуждите.

Междувременно можете просто да добавите горния код ръчно. Например:

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))
}

Обърнете внимание, че MyMongoSource е дефинирано да се намира в akka.stream.alpakka.mongodb.scaladsl пакет (като MongoSource ), защото ObservableToPublisher е пакетен частен клас. Ще използвате MyMongoSource по същия начин, по който бихте използвали 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. MongoError:не успя да се свърже със сървъра [localhost:27017] при първото свързване

  2. MongoDB Въведете ключ с '$' (долар)

  3. Получете размера на всички документи в заявка

  4. Грешка в администраторската уеб конзола за настройка на Mongodb на Windows в очакване на връзки на порт 28017

  5. Какви са режийните разходи на Java ORM за MongoDB