MongoDB 컬렉션의 행 수 계산하기
MongoDB에서 컬렉션에 저장된 문서(행)의 개수를 확인하려면 count() 메서드를 사용하면 됩니다. 이 글에서는 실제 예제를 통해 문서 수를 세는 과정을 단계별로 살펴보겠습니다.
1. 샘플 컬렉션 생성
먼저 insertOne() 메서드를 사용하여 문서가 포함된 컬렉션을 생성해 보겠습니다.
> db.demo664.insertOne({_id:1,ClientName:"Chris"});
{ "acknowledged" : true, "insertedId" : 1 }
> db.demo664.insertOne({_id:2,ClientName:"Bob"});
{ "acknowledged" : true, "insertedId" : 2 }
> db.demo664.insertOne({_id:3,ClientName:"Sam"});
{ "acknowledged" : true, "insertedId" : 3 }
> db.demo664.insertOne({_id:4,ClientName:"David"});
{ "acknowledged" : true, "insertedId" : 4 }위 명령을 실행하면 demo664라는 컬렉션에 4개의 클라이언트 문서가 순차적으로 저장됩니다.
2. 저장된 문서 확인하기
find() 메서드를 사용하면 컬렉션에 저장된 모든 문서를 조회할 수 있습니다.
> db.demo664.find();
이 쿼리는 다음과 같은 결과를 출력합니다.
{ "_id" : 1, "ClientName" : "Chris" }
{ "_id" : 2, "ClientName" : "Bob" }
{ "_id" : 3, "ClientName" : "Sam" }
{ "_id" : 4, "ClientName" : "David" }3. 행(문서) 수 세기
이제 count() 메서드를 활용하여 컬렉션의 전체 행 수를 구하는 쿼리를 실행해 보겠습니다.
> var numberOfRows=db.demo664.count();
> print ("Number Of Rows="+numberOfRows);실행 결과는 다음과 같습니다.
Number Of Rows=4
결과에서 확인할 수 있듯이, 컬렉션에는 총 4개의 행(문서)이 저장되어 있습니다.
참고: 최신 MongoDB 버전에서의 권장 방식
count() 메서드는 MongoDB 4.0부터 deprecated(사용 중단 예정) 상태입니다. 최신 버전에서는 정확한 개수를 보장하는 countDocuments() 또는 대략적인 추정치를 빠르게 반환하는 estimatedDocumentCount() 사용을 권장합니다.
> db.demo664.countDocuments(); 4 > db.demo664.estimatedDocumentCount(); 4
조건에 맞는 문서만 세고 싶다면 다음과 같이 필터를 인자로 전달할 수도 있습니다.
> db.demo664.countDocuments({ClientName:"Chris"});
1