MongoDB 셸 스크립트를 실행 중간에 종료하고 싶다면 quit 함수를 사용하면 됩니다. 이 함수는 현재 셸 세션을 즉시 종료하는 역할을 하며, 선택적으로 종료 코드(exit code)를 인자로 전달할 수도 있습니다.
quit() 기본 문법
quit() quit(1)
인자 없이 quit()를 호출하면 정상 종료로 처리되며, quit(1)처럼 숫자를 전달하면 해당 종료 코드와 함께 셸이 종료됩니다. 셸 스크립트 작성 시 오류 발생 여부를 외부 프로세스에 알리는 용도로 유용하게 활용할 수 있습니다.
예제 데이터 준비
실제 동작을 확인하기 위해 먼저 항공편 정보를 담은 컬렉션을 생성하고 문서를 삽입해 보겠습니다.
> db.flightInformation.insertOne({"FlightName":"Flight-1","ArrivalTime":new ISODate("2019-03-12")});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ca1e341e941bbb0e8bf5639")
}
> db.flightInformation.insertOne({"FlightName":"Flight-2","ArrivalTime":new ISODate("2019-03-31")});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ca1e351e941bbb0e8bf563a")
}위 명령을 실행하면 flightInformation 컬렉션에 두 개의 항공편 문서가 저장됩니다. 각 문서에는 항공편 이름과 도착 시간이 ISODate 형식으로 포함되어 있습니다.
저장된 문서 조회하기
find() 메서드를 사용하면 컬렉션의 모든 문서를 확인할 수 있습니다. pretty() 메서드를 함께 사용하면 결과가 보기 좋게 정렬되어 출력됩니다.
> db.flightInformation.find().pretty();
실행 결과는 다음과 같습니다.
{
"_id" : ObjectId("5ca1e341e941bbb0e8bf5639"),
"FlightName" : "Flight-1",
"ArrivalTime" : ISODate("2019-03-12T00:00:00Z")
}
{
"_id" : ObjectId("5ca1e351e941bbb0e8bf563a"),
"FlightName" : "Flight-2",
"ArrivalTime" : ISODate("2019-03-31T00:00:00Z")
}셸 스크립트 조기 종료하기
이제 MongoDB 셸을 조기에 종료하는 실제 명령을 살펴보겠습니다. 아래와 같이 quit()를 호출하면 됩니다.
> quit();
명령 실행 후 셸이 종료되면서 프롬프트가 일반 시스템 셸로 돌아갑니다.
C:\Users\Amit>
출력 결과에서 볼 수 있듯이, quit() 호출 후 MongoDB 셸 세션이 종료되고 운영체제의 명령 프롬프트로 복귀한 것을 확인할 수 있습니다. 이처럼 quit() 함수를 활용하면 배치 작업이나 자동화 스크립트에서 원하는 지점에서 셸 실행을 깔끔하게 중단할 수 있습니다.