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

MongoDB 컬렉션에서 최상위 문서 가져오는 방법

MongoDB에서 최상위 문서 조회하기

MongoDB 컬렉션에서 가장 위에 있는(최상위) 문서를 가져오려면 find() 메서드와 함께 limit()을 사용하면 됩니다. 단 하나의 문서만 필요하다면 limit(1)을 지정하는 것이 효과적입니다.


1. 샘플 컬렉션 생성

먼저 실습에 사용할 컬렉션을 만들고 문서를 삽입해 보겠습니다.

> db.demo681.insertOne({_id:101,Name:"Chris"});
{ "acknowledged" : true, "insertedId" : 101 }
> db.demo681.insertOne({_id:102,Name:"Bob"});
{ "acknowledged" : true, "insertedId" : 102 }
> db.demo681.insertOne({_id:103,Name:"David"});
{ "acknowledged" : true, "insertedId" : 103 }
> db.demo681.insertOne({_id:104,Name:"Bob"});
{ "acknowledged" : true, "insertedId" : 104 }
> db.demo681.insertOne({_id:105,Name:"Sam"});
{ "acknowledged" : true, "insertedId" : 105 }

2. 전체 문서 확인하기

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

> db.demo681.find();

위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.

{ "_id" : 101, "Name" : "Chris" }
{ "_id" : 102, "Name" : "Bob" }
{ "_id" : 103, "Name" : "David" }
{ "_id" : 104, "Name" : "Bob" }
{ "_id" : 105, "Name" : "Sam" }

3. 최상위 문서 하나만 가져오기

컬렉션의 맨 위 문서만 조회하려면 아래와 같이 find() 뒤에 limit(1)을 붙여 실행합니다.

> db.demo681.find().limit(1);

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

{ "_id" : 101, "Name" : "Chris" }

참고: findOne() 활용하기

문서를 하나만 가져올 때는 findOne() 메서드를 사용하는 것도 좋은 방법입니다. 이 메서드는 조건에 일치하는 첫 번째 문서를 자동으로 반환하므로 별도로 limit()을 지정할 필요가 없습니다.

> db.demo681.findOne();
{ "_id" : 101, "Name" : "Chris" }

정리

MongoDB에서 최상위 문서를 가져오는 방법은 매우 간단합니다. find().limit(1)을 사용하거나, 더 간결하게 findOne()을 활용하면 됩니다. 대량의 데이터가 있는 컬렉션에서도 limit()을 사용하면 불필요한 데이터 조회를 줄여 성능을 개선할 수 있다는 점을 기억해 두세요.