使用spring数据在mongo中运行js文件

时间:2016-04-26 14:05:53

标签: java mongodb mongotemplate

我正在尝试使用mongo-template运行js文件。 See StackOverFlow thread here

我正在尝试使用相同的代码库,根本没有变化。 这对我不起作用。 我在这一行得到了Exception:

scriptOps.register(new NamedMongoScript("echo", echoScript)); 

错误:

  

org.springframework.core.convert.ConverterNotFoundException:没有   转换器发现能够从类型转换   [org.springframework.data.mongodb.core.script.NamedMongoScript]来   输入[com.mongodb.DBObject]

完成StackTrace ......

  

org.springframework.core.convert.support.GenericConversionService.handleConverterNotFound(GenericConversionService.java:313)     在   org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:195)     在   org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:176)     在   org.springframework.data.mongodb.core.convert.MappingMongoConverter.writeInternal(MappingMongoConverter.java:375)     在

1 个答案:

答案 0 :(得分:0)

try{
         StringBuilder text = new StringBuilder();
        BufferedReader br = new BufferedReader(new FileReader(new File("C:\\piyush\\t.js")));
        try {
            while (true) {
                String line = br.readLine();
                if (line == null)
                    break;
                text.append(line).append("\n");
            }
        } finally {
            try { br.close(); } catch (Exception ignore) {

                System.out.println(ignore);
            }
        }

        ExecutableMongoScript echoScript = new ExecutableMongoScript(text.toString());
        Object ob=mongoOperation.scriptOps().execute(echoScript, "hello"); 
        System.out.println(ob);

t.js

function(x)    { return x; }

它会打印hello