How do I execute a MongoDB js script using the Java MongoDriver

前端 未结 4 759
刺人心
刺人心 2020-12-10 17:00

I have implemented a JavaScript function inside the Mongodb server using this example.

It works fine when I use mongo shell, but I want to run it from inside a Java

4条回答
  •  长情又很酷
    2020-12-10 17:49

    @Autowired
    private MongoOperations mongoOperations;
    
    private final BasicDBObject basicDBObject = new BasicDBObject();
    
    @PostConstruct
    private void initialize() {
        basicDBObject.put("eval", "function() { return db.loadServerScripts(); }");
        mongoOperations.executeCommand(basicDBObject);
    }
    
    private void execute() {
        basicDBObject.put("eval", "function() { return echoFunction(3); }");
        CommandResult result = mongoOperations.executeCommand(basicDBObject);
    }
    

    And then you can use something like:

    ObjectMapper mapper = new ObjectMapper();
    

    And MongoOperation's:

    mongoOperations.getConverter().read(CLASS, DBOBJECT);
    

    Just try to have some workaround depends on your requirements

提交回复
热议问题