问题描述
这是参考文档中有关如何在Spring Data MongoDB中使用脚本的相关部分。
ScriptOperations scriptOps = template.scriptOps();
// Execute script directly
ExecutableMongoScript echoScript = new ExecutableMongoScript("function(x) { return x; }");
scriptOps.execute(echoScript, "directly execute script");
// Register script and call it later
scriptOps.register(new NamedMongoScript("echo", echoScript));
scriptOps.call("echo", "execute script via name");
解决方法
在mongo shell js文件中,可以使用以下load
命令运行:
load("path/to/file/file.js")
如何使用spring-data做到这一点?或Java中的任何其他方式。我试过了:
BasicDBObject obj = new BasicDBObject();
obj.append( "$load","/path/file.js" );
CommandResult t=mongoTemplate.executeCommand(obj);
和:
obj.append( "$eval","load(\"/path/file.js\")" );
但这不起作用。