我使用 MongoDB 的命令行客户端在 MongoDB 中定义了一个函数。
function something(){...}
我想知道如何使用 Scala 中的 casbah 执行自定义 MongoDB 函数。
有什么建议吗?
Thanks,
有几种方法可以在服务器上运行任意 JavaScript 代码。您可以将其作为字符串提供
客户端发送到服务器进行评估,或者在服务器上安装该功能
首先,如此处记录的:http://docs.mongodb.org/manual/core/server-side-javascript/ http://docs.mongodb.org/manual/core/server-side-javascript/
服务器端函数按数据库注册在名为 system.js 的集合中。
无论哪种方式,您都可以使用 db.eval() 命令来调用您的代码,如下所示:
/* 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
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)