MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Alpakka MongoDB - chỉ định loại trong MongoSource

Điều này chưa được công bố nhưng trong nhánh chính của Alpakka, MongoSource.apply nhận tham số kiểu:

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

Do đó, với bản phát hành Alpakka 0.18 sắp tới, bạn sẽ có thể thực hiện những việc sau:

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

Lưu ý rằng source ở đây giả định rằng todoCollection.find() trả về một Observable[TodoMongo]; điều chỉnh các loại nếu cần.

Trong thời gian chờ đợi, bạn chỉ cần thêm mã trên theo cách thủ công. Ví dụ:

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

Lưu ý rằng MyMongoSource được xác định là nằm trong akka.stream.alpakka.mongodb.scaladsl gói (như MongoSource ), bởi vì ObservableToPublisher là một lớp gói-riêng. Bạn sẽ sử dụng MyMongoSource giống như cách bạn sẽ sử dụng 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. Mã hóa MongoDB Data-at-Rest

  2. Mongoengine:ConnectionError:Bạn chưa xác định kết nối mặc định

  3. db.collectionNames không hoạt động trong Node.js

  4. Thiết kế lược đồ MongoDB (mảng lồng nhau so với bộ sưu tập riêng biệt)

  5. Mongo db không tồn tại nhưng hiển thị trong kết nối