MongoDB 셸(mongo shell)에서는 var 키워드를 사용해 쿼리 결과를 변수에 저장한 뒤 재사용할 수 있습니다. 이번 글에서는 실제 예제를 통해 컬렉션 생성부터 결과 저장까지 단계별로 살펴보겠습니다.
1. 문서가 포함된 컬렉션 생성하기
먼저 insertOne() 메서드를 사용하여 문서 하나가 담긴 컬렉션을 생성합니다.
> db.useResultDemo.insertOne({"StudentFirstName":"Robert"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cda70f5b50a6c6dd317adcd")
}컬렉션이 정상적으로 생성되었으며, 자동으로 생성된 ObjectId가 insertedId로 반환됩니다.
2. find() 메서드로 전체 문서 조회하기
find() 메서드를 사용하면 컬렉션에 저장된 모든 문서를 확인할 수 있습니다.
> db.useResultDemo.find();
실행 결과는 다음과 같습니다.
{ "_id" : ObjectId("5cda70f5b50a6c6dd317adcd"), "StudentFirstName" : "Robert" }3. var 키워드로 쿼리 결과를 변수에 저장하기
이제 핵심 단계입니다. var 키워드와 findOne() 메서드를 조합하면 쿼리 결과를 변수에 담아 셸에서 계속 활용할 수 있습니다. 두 번째 인자인 프로젝션(projection)에 {_id:0}을 지정하면 _id 필드는 제외하고 필요한 필드만 가져옵니다.
> var studentName=db.useResultDemo.findOne({},{_id:0});
> studentName변수를 출력하면 다음과 같은 결과를 얻을 수 있습니다.
{ "StudentFirstName" : "Robert" }정리
이처럼 var 키워드를 사용하면 MongoDB 셸에서 쿼리 결과를 변수에 저장할 수 있으며, 이후 studentName.StudentFirstName처럼 도트 표기법으로 특정 필드 값에 바로 접근할 수도 있습니다. 반복적인 쿼리 작업이나 복잡한 집계 로직을 테스트할 때 매우 유용하게 활용됩니다.