js 내의 다른 파일을 포함하여 mongodb에서 javascript 스크립트(.js 파일)를 실행합니다.
mongodb 데이터 삽입 및 업데이트를 위한 긴 스크립트를 작성하고 싶습니다.
- 스크립트가 포함된 외부 js 파일을 호출할 수 있습니까?
- 실행 중인 js 파일에서 다른 js 파일을 포함할 수 있습니까?
로드 함수 사용
load(filename)
mongo 쉘에서 임의의 .js 파일을 직접 호출할 수 있으며 mongo는 JavaScript를 실행합니다.
예:mongo localhost:27017/mydb myfile.js
localhost 포트 27017을 사용하여 mydb 데이터베이스에 접속하는 mongo 셸의 myfile.js 스크립트를 실행합니다.
외부 js를 로드하기 위해 쓸 수 있습니다.
load("/data/db/scripts/myloadjs.js")
2개의 js 파일myFileOne.js와 myFileTwo.js가 있다고 가정합니다.
myFileOne.js
print('From file 1');
load('myFileTwo.js'); // Load other js file .
myFileTwo.js
print('From file 2');
몽고셸
>mongo myFileOne.js
산출량
From file 1
From file 2
또 다른 방법은 터미널 프롬프트에서 파일을 mongo로 전달하는 것입니다.
$ mongo < myjstest.js
그러면 mongo 세션이 시작되고 파일이 실행된 후 종료됩니다.하지만 1일부터 두 번째 파일을 호출하는 것은 확실치 않습니다.안 먹어봤어.
네, 가능합니다.스크립트 파일의 기본 위치는 data/db입니다.
여기에 스크립트를 넣으면
load("myjstest.js") // or
load("/data/db/myjstest.js")
다중 js 파일 실행용
#!/bin/bash
cd /root/migrate/
ls -1 *.js | sed 's/.js$//' | while read name; do
start=`date +%s`
mongo localhost:27017/wbars $name.js;
end=`date +%s`
runtime1=$((end-start))
runtime=$(printf '%dh:%dm:%ds\n' $(($runtime1/3600)) $(($secs%3600/60)) $(($secs%60)))
echo @@@@@@@@@@@@@ $runtime $name.js completed @@@@@@@@@@@
echo "$name.js completed"
sync
echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches
done
외부 파일을 호출하려면 다음을 사용합니다.
로드("path\file")
예: file.js 파일이 (Windows OS의) "Documents" 파일에 있는 경우 다음과 같이 입력할 수 있습니다.
로드("C:\users\user_name\Documents\file.js")
언급URL : https://stackoverflow.com/questions/22248730/run-javascript-script-js-file-in-mongodb-including-another-file-inside-js
'programing' 카테고리의 다른 글
jQuery Ajax의 Bool 매개 변수가 PHP에서 리터럴 문자열 "false"/"true"로 수신되었습니다. (0) | 2023.03.21 |
---|---|
WPML에서 하나의 사용자 지정 게시 유형 slug를 변환할 수 없습니다. (0) | 2023.03.21 |
ASP에서의 JSON 시리얼화/디시리얼화넷코어 (0) | 2023.03.21 |
Ajax : 성공이 0으로 표시되는 이유는 무엇입니까? (0) | 2023.03.21 |
JSON 문자열을 Javascript 배열로 변환 (0) | 2023.03.21 |