sql >> Databáze >  >> NoSQL >> MongoDB

Alpakka MongoDB – zadejte typ v MongoSource

Toto zatím není zveřejněno, ale v hlavní větvi Alpakky, MongoSource.apply přebírá parametr typu:

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

Proto s nadcházející verzí 0.18 Alpakka budete moci provádět následující:

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

Všimněte si, že source zde předpokládá, že todoCollection.find() vrátí Observable[TodoMongo]; upravte typy podle potřeby.

Mezitím můžete výše uvedený kód jednoduše přidat ručně. Například:

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

Všimněte si, že MyMongoSource je definováno jako umístění v akka.stream.alpakka.mongodb.scaladsl balíček (jako MongoSource ), protože ObservableToPublisher je třída typu balíček-soukromá. Použili byste MyMongoSource stejným způsobem, jako byste použili MongoSource :

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



  1. Uložit podmnožinu sbírky MongoDB do jiné sbírky

  2. Jak kombinovat seřazené sady Redis?

  3. Výsledek dotazování od mongoose pomocí dynamického modelu.find

  4. jak spustíte mongo shell skript s nasazenou meteor aplikací?