Mongo 셸이 파일에서 쿼리를 실행하고 결과를 표시합니다.
mongo shell을 사용하여 외부 파일을 실행하고 콘솔에서 결과를 보는 방법은 무엇입니까?
외부 파일을 가지고 있어요, 예를 들면query.js
그리고 저는 그것을 실행하고 cmd로 결과를 보고 싶습니다.
예를 들어, 파일의 내용은 다음과 같습니다.
db.users.find()
이것을 당신의 것에 넣으세요.query.js
파일:
function get_results (result) {
print(tojson(result));
}
db.col.find().forEach(get_results)
실행:
mongo db_name query.js
당신이 왜 이런 식으로 해야 하는지에 대한 좋은 설명이 여기 있습니다.
파일에서 mongodb 쿼리를 실행하고 콘솔에서 출력을 확인하는 가장 간단한 방법은 다음과 같습니다.
query.js
:
use my_db;
db.my_collection.findOne()
명령줄에서:mongo <query.js
그러면 mongo 셸에서 쿼리를 개별적으로 실행하는 것처럼 콘솔에 대한 모든 출력이 표시됩니다.
여기 좋은 정보 - mongo가 printjson() 기능을 제공하므로 printjson()이 제공하는 기능보다 더 많은 기능이 필요하지 않는 한 직접 작성할 필요가 없다는 점을 지적하고 싶습니다.
예제 Mongo 파일(test.js)
// Pretty print all documents in test.scratch
use test
db.scratch.find().forEach(printjson)
명령
mongo < test.js
생략할 경우use test
mongo 파일에서 js 파일에 대한 IDE 오류 표시를 제거하기 위해 명령줄에서 대상 db를 지정할 수 있습니다.
mongo test < test.js
주의할 점: 위의 예제에서는 리디렉션을 사용하여 파일을 mongo 셸에 밀어넣습니다.이 호출 규칙을 사용하면 셸에서와 마찬가지로 명령을 입력할 수 있습니다. 여기에는 다음과 같은 mongo 셸 편의 명령이 포함됩니다.use test
.
Mongo는 다른 스크립트 호출 규칙을 제공합니다.mongo test test.js
리디렉션 연산자를 생략합니다.이 호출 규칙은 다음을 필요로 합니다.test.js
적절한 Javascript이며 다음과 같은 mongo 셸 편의성 방법을 사용할 수 없습니다.use test
누군가는 자바스크립트 등가물을 사용할 것입니다.getSiblingDB()
.
다른 응답자들이 언급하지 않은 한 가지는use db
외부 스크립트에서 명령이 작동하지 않습니다.가장 좋은 방법은 사용하는 것입니다.getSiblingDB
예를 들어, 호출된 데이터베이스를 사용하려면my_db
:
db = db.getSiblingDB("my_db");
function get_results (result) {
print(tojson(result));
}
db.col.find().forEach(get_results)
그러면 모든 것이 당신이 기대하는 대로 작동합니다.mongo 셸에 대한 스크립트 쓰기를 참조하십시오.
이것은 mongocli의 어느 시점에서 변경된 것 같습니다. 데이터베이스에 대해 파일을 실행하려면 다음 명령을 실행해야 했습니다(mongocli 버전 3.4.9).
mongo mongodb://192.168.1.1/YourDataBase scriptFile.js
그런 다음 바꾸기192.168.1.1
db의 ip / 호스트 이름을 사용하여YourDataBase
데이터베이스 이름과 기존 파일을 가리킵니다.
언급URL : https://stackoverflow.com/questions/16326241/mongo-shell-execute-query-from-file-and-show-result
'programing' 카테고리의 다른 글
jQuery 이벤트 선택 변경 선택 항목 가져오기 옵션 (0) | 2023.07.04 |
---|---|
ASP.NET에서 "스레드가 중단되었습니다"가 표시되는 이유는 무엇입니까? (0) | 2023.07.04 |
UITableView 일부 셀을 "선택할 수 없음"으로 설정 (0) | 2023.07.04 |
T-SQL, 단일 선택에서 둘 이상의 변수 업데이트 (0) | 2023.07.04 |
Python에서 새 줄 구분 기호를 사용하여 문자열 분할 (0) | 2023.07.04 |