Computer >> 컴퓨터 >  >> 프로그래밍 >> MongoDB

MongoDB 쿼리에서 사용자 정의 변수(var) 설정 및 활용하는 방법

MongoDB에서 사용자 정의 변수를 쿼리에 활용하려면 var 키워드를 사용하면 됩니다. 이번 글에서는 변수를 선언한 뒤 find() 쿼리의 조건 값으로 적용하는 과정을 단계별로 살펴보겠습니다.

1. 컬렉션 생성 및 문서 삽입

먼저 insertOne() 메서드를 사용하여 demo327 컬렉션에 여러 개의 문서를 생성합니다.

> db.demo327.insertOne({"FirstName":"Chris","LastName":"Brown"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e516952f8647eb59e562076")
}
> db.demo327.insertOne({"FirstName":"David","LastName":"Miller"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e51695af8647eb59e562077")
}
> db.demo327.insertOne({"FirstName":"John","LastName":"Doe"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e516962f8647eb59e562078")
}
> db.demo327.insertOne({"FirstName":"John","LastName":"Smith"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e516968f8647eb59e562079")
}

2. 전체 문서 조회하기

find() 메서드를 사용하면 컬렉션에 저장된 모든 문서를 확인할 수 있습니다.

> db.demo327.find();

위 명령을 실행하면 다음과 같은 결과가 출력됩니다.

{ "_id" : ObjectId("5e516952f8647eb59e562076"), "FirstName" : "Chris", "LastName" : "Brown" }
{ "_id" : ObjectId("5e51695af8647eb59e562077"), "FirstName" : "David", "LastName" : "Miller" }
{ "_id" : ObjectId("5e516962f8647eb59e562078"), "FirstName" : "John", "LastName" : "Doe" }
{ "_id" : ObjectId("5e516968f8647eb59e562079"), "FirstName" : "John", "LastName" : "Smith" }

3. 사용자 정의 변수를 쿼리 조건으로 사용하기

이제 var 키워드로 변수를 선언하고, 해당 변수를 find() 쿼리의 검색 조건 값으로 지정하는 방법입니다.

> var name="John";
> db.demo327.find({"FirstName":name});

변수 name에는 "John"이라는 문자열이 저장되어 있으므로, FirstName 필드 값이 "John"인 문서만 조회됩니다. 실행 결과는 다음과 같습니다.

{ "_id" : ObjectId("5e516962f8647eb59e562078"), "FirstName" : "John", "LastName" : "Doe" }
{ "_id" : ObjectId("5e516968f8647eb59e562079"), "FirstName" : "John", "LastName" : "Smith" }

마무리

이처럼 var 키워드를 활용하면 쿼리에 값을 직접 하드코딩하지 않고도 유연하게 조건을 지정할 수 있습니다. 몽고 셸(mongo shell)에서 스크립트를 작성할 때 반복적으로 사용되는 값을 변수로 관리하면 코드의 가독성과 재사용성이 크게 향상되며, 값 변경 시에도 변수 하나만 수정하면 되므로 유지보수가 훨씬 편리해집니다.