sql >> Database teknologi >  >> NoSQL >> MongoDB

Min PlayFramework-handling vender tilbage, før en fremtid er klar, hvordan opdaterer jeg en websidekomponent?

Action er ikke designet til at arbejde med futures. Brug Action.async , som vil "vente" (teknisk ikke vente, men planlægge) på, at fremtiden slutter:

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

Tag et kig på dette som reference:https://www.playframework.com/documentation /2.4.x/ScalaAsync




  1. MongoDB $cosh

  2. Hvordan sletter man mange mongodb-samlinger på én gang?

  3. Om char b-præfiks i Python3.4.1-klienten opret forbindelse til redis

  4. Geografisk distribuerede MongoDB-klynger på AWS i EU-regionen