sql >> Databasteknik >  >> NoSQL >> MongoDB

Utför anpassad funktion på MongoDB med Casbah/Scala

Det finns några sätt att köra godtycklig javascript-kod på servern. Du kan tillhandahålla den som en sträng från klienten och skicka den till servern för utvärdering, eller installera funktionen på servern först, som dokumenterats här:http://docs.mongodb.org/manual/core/server-side-javascript/

Serversidans funktioner registreras per db, i en samling som heter system.js.

Oavsett vilket kan du sedan använda kommandot db.eval() för att anropa din kod, som visas här:

/* Call like so:
     evalJavascript(myDB, "function (oid) { return coll.find({_id: oid}); }", someObjectId)
*/
def evalJavascript(db:MongoDB, func: String, args: String*): Validation[String, Object] = {
  val result = db.command(Map(
    "eval" -> func,
    "args" -> args.toList
  ));

  if (result.ok) {
    result.get("retval").success
  } else {
    result.getErrorMessage().failure
  }
}


  1. Utskrift av frågeresultat från Mongodb i Scala med mongo-scala-drivrutin

  2. ställ in expire-nyckeln vid en viss tidpunkt när du använder Spring caching med Redis

  3. Hadoop RecordReader Introduktion, Arbete &Typer

  4. Långsam MongoDB-fråga:kan du förklara varför?