Istnieje kilka sposobów na uruchomienie dowolnego kodu javascript na serwerze. Możesz dostarczyć go jako ciąg znaków od klienta i wysłać go na serwer w celu oceny lub zainstalować funkcję najpierw na serwerze, zgodnie z dokumentacją tutaj:http://docs.mongodb.org/manual/core/server-side-javascript/
Funkcje po stronie serwera są rejestrowane na db, w kolekcji o nazwie system.js.
Tak czy inaczej, możesz użyć polecenia db.eval() do wywołania kodu, jak pokazano tutaj:
/* 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
}
}