从java调用存储的mongodb函数
假设您有基于java的服务器,并且正在调用存储在mongo db中的函数: 假设函数名是test,而implementaton是从java调用存储的mongodb函数,java,mongodb,mongodb-java,Java,Mongodb,Mongodb Java,假设您有基于java的服务器,并且正在调用存储在mongo db中的函数: 假设函数名是test,而implementaton是 function(arg1, arg2){ return arg1; } DB db; .... 如何正确传递参数?我也试过简单的传球 db.eval("test(arg1, arg2)", 1, 2); 不幸的是,我收到错误的引用错误。我当前找不到堆栈跟踪。但我找到了绕过这个例外的方法。我刚刚用方法创建了helper类: private static
function(arg1, arg2){
return arg1;
}
DB db;
....
如何正确传递参数?我也试过简单的传球
db.eval("test(arg1, arg2)", 1, 2);
不幸的是,我收到错误的引用错误。我当前找不到堆栈跟踪。但我找到了绕过这个例外的方法。我刚刚用方法创建了helper类:
private static String constructCallStatment(String function) {
String functionApi = extractApi(function);
StringBuilder builder = new StringBuilder();
builder.append("function(");
builder.append(functionApi);
builder.append(") { return ");
builder.append(function);
builder.append(";}");
String retVal = builder.toString();
return retVal;
}
public Object eval(String function, Object... args) {
String callStatment = constructCallStatment(function);
return mgDb.eval(callStatment, args);
}
public void setMgDb(DB mgDb) {
this.mgDb = mgDb;
}
它帮助我准确地从java端服务器调用mongo db存储函数。您能发布您收到的错误吗?如果可能,使用堆栈跟踪。