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

MongoDB에서 조건에 맞는 레코드를 조회하는 방법

MongoDB에서 특정 조건에 맞는 레코드를 조회하려면 find() 메서드에 조건을 지정하면 됩니다. 이번 글에서는 실제 예제를 통해 조건 기반 검색 방법을 단계별로 살펴보겠습니다.

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

먼저 insertOne() 메서드를 사용해 컬렉션에 문서를 생성합니다.

> db.demo708.insertOne({"Name":"John",Marks:54});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea702e4d346dcb074dc6f33")
}
> db.demo708.insertOne({"Name":"Chris",Marks:35});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea702e6d346dcb074dc6f34")
}
> db.demo708.insertOne({"Name":"David",Marks:45});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea702ebd346dcb074dc6f35")
}
> db.demo708.insertOne({"Name":"Bob",Marks:40});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea702fad346dcb074dc6f36")
}

2. 전체 문서 확인하기

find() 메서드를 사용하면 컬렉션의 모든 문서를 조회할 수 있습니다.

> db.demo708.find();

위 쿼리의 실행 결과는 다음과 같습니다.

{ "_id" : ObjectId("5ea702e4d346dcb074dc6f33"), "Name" : "John", "Marks" : 54 }
{ "_id" : ObjectId("5ea702e6d346dcb074dc6f34"), "Name" : "Chris", "Marks" : 35 }
{ "_id" : ObjectId("5ea702ebd346dcb074dc6f35"), "Name" : "David", "Marks" : 45 }
{ "_id" : ObjectId("5ea702fad346dcb074dc6f36"), "Name" : "Bob", "Marks" : 40 }

3. 조건에 따라 레코드 조회하기

이제 조건을 적용해 원하는 레코드만 조회해 보겠습니다. 아래 쿼리는 $gt(greater than, 초과) 연산자를 사용하여 Marks 값이 40보다 큰 문서만 찾습니다.

> db.demo708.find({Marks:{$gt:40}});

실행 결과는 다음과 같습니다.

{ "_id" : ObjectId("5ea702e4d346dcb074dc6f33"), "Name" : "John", "Marks" : 54 }
{ "_id" : ObjectId("5ea702ebd346dcb074dc6f35"), "Name" : "David", "Marks" : 45 }

정리

MongoDB에서 조건 기반 검색은 find() 메서드 안에 조건 객체를 전달하는 것으로 간단히 구현할 수 있습니다. 위 예제처럼 $gt 외에도 $lt(미만), $gte(이상), $lte(이하), $eq(같음) 등 다양한 비교 연산자를 활용하면 더욱 정교한 데이터 조회가 가능합니다.