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

MongoDB에서 컬렉션 목록을 확인하는 방법 – getCollectionNames() 완벽 정리

MongoDB에서 데이터베이스에 저장된 모든 컬렉션의 이름을 한눈에 확인하고 싶다면 getCollectionNames() 메서드를 사용하면 됩니다. 이 메서드는 현재 접속 중인 데이터베이스에 존재하는 컬렉션 이름들을 배열(Array) 형태로 반환해 줍니다.

기본 문법

사용 방법은 매우 간단합니다. 별도의 매개변수 없이 아래와 같이 호출하기만 하면 됩니다.

db.getCollectionNames();

실행 예제

test 데이터베이스에 포함된 모든 컬렉션 이름을 조회해 보겠습니다.

> use test
> db.getCollectionNames();

실행 결과

명령을 실행하면 해당 데이터베이스의 컬렉션 이름들이 배열로 출력됩니다.

[
   "arrayDemo",
   "arrayFieldIsNotEmptyDemo",
   "characterInFieldsDemo",
   "checkFieldExistDemo",
   "compareTwoFields",
   "comparingTwoFieldsDemo",
   "convertTextToDateTypeDemo",
   "countGroupByDemo",
   "demo407",
   ...
   "demo641",
   "employee",
   "getAllKeysDemo",
   "maxAttributePerGroup",
   "name",
   "objectArray",
   "order",
   "replaceSubstringDemo",
   "retriveAllStudents",
   "studentGetKeysDemo",
   "studentInformation",
   "totalDocumentDemo"
]

실제 환경에서는 데이터베이스에 생성된 컬렉션 개수만큼 전체 목록이 그대로 출력됩니다.

참고: show collections 명령어

mongo 셸(Shell) 환경에서는 더 간편하게 show collections 명령어로도 동일한 결과를 얻을 수 있습니다.

> show collections

두 방식 모두 컬렉션 목록을 보여준다는 점은 같지만, getCollectionNames()는 자바스크립트 배열을 반환하기 때문에 filter(), forEach() 등과 조합하여 원하는 컬렉션만 골라내는 등 훨씬 유연한 후속 처리가 가능하다는 장점이 있습니다.

예를 들어 이름에 'demo'가 포함된 컬렉션만 조회하고 싶다면 다음과 같이 작성할 수 있습니다.

> db.getCollectionNames().filter(function(c) {
...    return c.indexOf("demo") !== -1;
... });

이처럼 getCollectionNames()는 단순 조회를 넘어 스크립트 기반의 관리 작업에도 활용도가 높은 메서드이므로, MongoDB 운영 시 자주 사용하게 되니 꼭 기억해 두시기 바랍니다.