Il existe plusieurs façons d'exécuter un code javascript arbitraire sur le serveur. Vous pouvez le fournir sous forme de chaîne depuis le client et l'envoyer au serveur pour évaluation, ou installer d'abord la fonction sur le serveur d'abord, comme documenté ici : http://docs.mongodb.org/manual/core/server-side-javascript/
Les fonctions côté serveur sont enregistrées par db, dans une collection appelée system.js.
Dans tous les cas, vous pouvez ensuite utiliser la commande db.eval() pour appeler votre code, comme indiqué ici :
/* 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
}
}