Docs Menu
Docs Home
/ / /
Node.js 드라이버

데이터베이스 및 컬렉션

이 가이드 에서는 Node.js 운전자 사용하여 MongoDB 데이터베이스 및 컬렉션과 상호 작용 방법을 학습 수 있습니다.

MongoDB는 데이터를 다음 수준의 계층 구조로 구성합니다.

  • 데이터베이스: 컬렉션을 저장 하는 MongoDB deployment 의 최상위 데이터 구조입니다.

  • 컬렉션: MongoDB 문서 그룹입니다. 관계형 데이터베이스의 테이블과 유사합니다.

  • 문서: 문자열, 숫자, 날짜 및 기타 내장된 문서와 같은 리터럴 데이터를 저장 단위입니다. 문서 필드 유형 및 구조에 대한 자세한 내용은 MongoDB Server 매뉴얼의 문서 항목을 참조하세요.

MongoClient 인스턴스 에서 db() 메서드를 호출하여 데이터베이스 액세스 수 있습니다.

다음 예제에서는 "test_database" 데이터베이스에 액세스합니다.

const database = client.db("test_database");

Db 인스턴스 에서 collection() 메서드를 호출하여 컬렉션 액세스 할 수 있습니다.

다음 예시 "test_collection"이라는 컬렉션 에 액세스합니다.

const collection = database.collection("test_collection");

제공된 컬렉션 이름이 데이터베이스에 아직 존재하지 않는 경우, MongoDB는 데이터를 처음 삽입할 때 컬렉션을 암시적으로 생성합니다.

컬렉션 명시적으로 만들려면 Db 인스턴스 에서 createCollection() 메서드를 호출합니다.

다음 예에서는 "example_collection" 이라는 이름의 collection을 만듭니다.

const createColl = await database.createCollection("example_collection");

CreateCollectionOptions 인스턴스 createCollection() 메서드에 전달하여 최대 크기 및 문서 유효성 검사 규칙과 같은 컬렉션 옵션을 지정할 수 있습니다. 선택적 매개변수의 전체 목록은 MongoDB Server 매뉴얼의 create 명령 항목을 참조하세요.

Db 인스턴스 에서 listCollections() 메서드를 호출하여 데이터베이스 의 컬렉션 목록을 쿼리 할 수 있습니다.

다음 예시 데이터베이스 의 모든 컬렉션을 나열합니다.

const colls = database.listCollections();
for await (const doc of colls) {
console.log(doc)
}
{
name: 'example_collection',
type: 'collection',
options: {},
info: {
readOnly: false,
uuid: new UUID('...')
},
idIndex: { v: 2, key: { _id: 1 }, name: '_id_' }
}
{
name: 'test_collection',
type: 'collection',
options: {},
info: {
readOnly: false,
uuid: new UUID('...')
},
idIndex: { v: 2, key: { _id: 1 }, name: '_id_' }
}

데이터베이스 에서 컬렉션 이름만 쿼리 하려면 다음 코드와 같이 nameOnly 옵션을 listCollections() 메서드에 전달하고 해당 값을 true로 설정하다 .

const names = database.listCollections({}, { nameOnly: true });
for await (const doc of names) {
console.log(doc)
}
{ name: 'example_collection', type: 'collection' }
{ name: 'test_collection', type: 'collection' }

커서 반복에 대한 자세한 내용은 커서에서 데이터 액세스 가이드 를 참조하세요.

Collection 인스턴스 에서 drop() 메서드를 호출하여 컬렉션 삭제 수 있습니다.

다음 예시에서는 "test_collection" 컬렉션을 삭제합니다.

const collectionToDelete = database.collection("test_collection");
await collectionToDelete.drop();

경고

컬렉션을 제거하면 컬렉션의 모든 데이터가 삭제됨

데이터베이스에서 컬렉션을 삭제하면 해당 컬렉션 내의 모든 문서와 모든 인덱스가 영구적으로 삭제됩니다.

컬렉션의 데이터가 더 이상 필요하지 않은 경우에만 컬렉션을 삭제하세요.

이 가이드에서 설명하는 유형 또는 메서드에 대해 자세히 알아보려면 다음 API 문서를 참조하세요.

돌아가기

연결 문제 해결

이 페이지의 내용