我使用这个例子在Mongodb服务器中实现了一个JavaScript函数.
当我使用mongo shell时它工作正常,但我想从Java程序内部运行它.这是代码:
public String runFunction() {
CommandResult commandResult1 = db.command("db.loadServerScripts()");
CommandResult commandResult2 = db.command("echoFunction(3)");
return commandResult2.toString();
}
Run Code Online (Sandbox Code Playgroud)
我不明白结果.
先前的答案在MongoDB 3.4+中不起作用。在3.4版及更高版本中执行此操作的正确方法是创建BasicDBObject,并将其用作Database.runCommand()的参数。这是一个例子。
final BasicDBObject command = new BasicDBObject();
command.put("eval", String.format("function() { %s return;}}, {entity_id : 1, value : 1, type : 1}).forEach(someFun); }", code));
Document result = database.runCommand(command);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10325 次 |
| 最近记录: |