Esistono alcuni modi per eseguire codice javascript arbitrario sul server. È possibile fornirla come stringa dal client e inviarla al server per la valutazione, oppure installare prima la funzione sul server, come documentato qui:http://docs.mongodb.org/manual/core/server-side-javascript/
Le funzioni lato server sono registrate per db, in una raccolta chiamata system.js.
In ogni caso, puoi quindi utilizzare il comando db.eval() per chiamare il tuo codice, come mostrato qui:
/* 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
}
}