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

Moja akcja PlayFramework powraca, zanim przyszłość będzie gotowa, jak mogę zaktualizować komponent strony internetowej?

Action nie jest przeznaczony do pracy z przyszłościami. Użyj Action.async , który będzie "czekać" (technicznie nie czekać, ale zaplanować) na zakończenie przyszłości:

def rect(swLon: Float, swLat: Float, neLon: Float, neLat: Float) = Action.async {
  val sb = new StringBuilder()
  sb.append("<tt>boundingBox: swLon=" + swLon + ", swLat=" + swLat + ", neLon=" + neLon + ", neLat=" + neLat + "</tt>")
  if (oDb.isDefined) {
    val collection: MongoCollection[Document] = oDb.get.getCollection(collectionName)
    val fut = getFutureOne(collection) // returns a Future[Seq[Document]]
    fut.map {docs => 
      setMongoJson(doc.toJson)
      Ok(sb.toString)
    } recover {
      case e => BadRequest("FAIL: " + e.getMessage)
    }
  } else Future.successful(Ok("Not defined"))
}

Spójrz na to w celach informacyjnych:https://www.playframework.com/documentation /2.4.x/ScalaAsync




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongo db projekt obserwowania i kanałów, gdzie powinienem osadzić?

  2. Adnotacja Spring Data MongoDB @CreatedDate nie działa, gdy identyfikator jest przypisywany ręcznie

  3. Zapytanie MongoDb, aby uzyskać maksymalne pole wewnątrz tablicy

  4. Agregacja MongoDB $podziel pola obliczane

  5. Mongoose nie wypełnia (.populate()) w wersji produkcyjnej (Heroku), ale działa w trybie lokalnym