[컴][db] mongodb script 를 java 에서 실행하는 법

how to run javascript script in java driver / java driver / how

mongodb script 를 java 에서 실행하는 법

결론

미리 결론을 이야기 하면, ref. 2 에서의 이야기는 java 에서 mongodb 에서 js 를 실행시키는 방법이 없다. 그래서 mongo shell process 를 띄우고 거기서 수행해야 한다고 한다.

명확치는 않지만, ref.1 을 보면, javascript로 된 script 를 실행해 주는 주체는 mongosh 인듯 보인다. 즉, java driver 에서 script 를 실행하는 방법은 mongo shell process 를 이용할 수밖에 없어 보인다.

아니면, js script 를 java 로 다시 작성하면 된다.

mongosh 를 이용해서 javascript file 을 실행하는 방법

참고로 과거의 shell 인 mongo 에서 실행하는 방법도 있다.

script 를 js 에 저장하고 그것을 load() 로 실행하는 방법

mongosh 를 열고, mongodb 에 접속후 아래처럼 load 를 이용하면 된다.

load(step1.js)
...
load(step2.js)

mongosh 를 이용해서 command line 의 argument 로 넘겨서 실행하는 방법

2개의 js 를 실행할때는 아래처럼 한다.

monogsh mongodb://mydb.com:27017/mydb -u myuid -p 'my-pass' --file step1.js --file step2.js

eval 은 사용할 수 없다.

MongoDB 4.2 부터 eval command 는 사라졌다.(참고: How do I execute a MongoDB js script using the Java MongoDriver - Stack Overflow)

Reference

  1. Write Scripts — MongoDB Shell
  2. how can I execute a javascript file by the Java Mongodb driver, 2014-11-06

댓글 없음:

댓글 쓰기