MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

menggunakan aliran akka untuk memeriksa koleksi mongo

Solusi 1 :

def changeModelAndInsertToNewCollection(person:Person) : Future[Boolean] ={
//Todo : call mongo api to update the person
???
}

def processPeople()(implicit m: Materializer): Future[Done] = {
val numberOfConcurrentUpdate = 10

val peopleSource: Source[Person, Future[State]] =
  collection
    .find(json())
    .cursor[Person]()
    .documentSource()

peopleSource
  .mapAsync(numberOfConcurrentUpdate)(changeModelAndInsertToNewCollection)
  withAttributes(ActorAttributes.supervisionStrategy(Supervision.restartingDecider))
  .runWith(Sink.ignore)}

Solusi 2 : menggunakan Alpakka sebagai konektor aliran akka untuk mongo

val source: Source[Document, NotUsed] =
MongoSource(collection.find(json()).cursor[Person]().documentSource())

source.runWith(MongoSink.updateOne(2, collection))



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Waktu koneksi habis setelah memutakhirkan MongoDB.Driver dari 2.7.0 ke 2.7.1

  2. batas jumlah koleksi dalam database

  3. Mongodb dan menyortir sub array

  4. Ambil Hasil Urutan yang Relevan dari Kueri Teks pada Koleksi MongoDB menggunakan Driver C#

  5. Kueri Agregat di Mongodb mengembalikan bidang tertentu