【问题标题】:Call stored mongodb function from java从java调用存储的mongodb函数
【发布时间】:2014-05-22 16:26:48
【问题描述】:

假设您有基于 java 的服务器,并且您正在调用存储在 mongo db 中的函数: 假设函数名称是 test 而 impelemntaton 是

function(arg1, arg2){
    return arg1;
}
DB db;
....

如何正确传递参数?我也尝试过简单地通过它们

db.eval("test(arg1, arg2)", 1, 2); 

很遗憾,我收到错误的参考信息。

【问题讨论】:

  • 您能发布您遇到的错误吗?如果可能,使用堆栈跟踪。

标签: java mongodb mongodb-java


【解决方案1】:

目前我找不到堆栈跟踪。但是我找到了绕过该异常的方法。我刚刚用方法创建了辅助类:

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 存储函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-13
    • 2020-01-09
    • 1970-01-01
    • 1970-01-01
    • 2016-10-09
    • 2017-04-01
    相关资源
    最近更新 更多