데이터베이스 및 컬렉션
개요
이 가이드에서는 MongoDB Java 드라이버와 함께 MongoDB 데이터베이스 및 컬렉션을 사용하는 방법에 대해 설명합니다.
MongoDB는 데이터를 다음 수준의 계층 구조로 구성합니다.
Databases
컬렉션
문서
데이터베이스는 MongoDB 인스턴스에서 데이터 구성의 최상위 수준입니다. 데이터베이스는 문서 를 포함하는 컬렉션으로 구성됩니다. 문서에는 문자열, 숫자, 날짜 등의 리터럴 데이터와 기타(내장된) 문서가 포함됩니다. 문서 필드 유형 및 구조에 대한 자세한 내용은 문서에 대한 서버 설명서를 참조하세요.
데이터베이스에 액세스
getDatabase() MongoClient
사용 인스턴스 의 MongoDatabase
메서드를 사용하여 MongoDB 인스턴스 의 에 액세스 합니다.
다음 예에서는 'testDatabase'라는 데이터베이스에 액세스합니다.
MongoDatabase database = mongoClient.getDatabase("testDatabase");
컬렉션에 액세스
getCollection() 사용 인스턴스의 메서드를 사용하여 MongoDatabase
MongoCollection
연결된 MongoDB 인스턴스의 데이터베이스에 있는 에 액세스합니다.
다음 예에서는 MongoDatabase
에서 'testCollection'이라는 컬렉션에 액세스합니다.
MongoDatabase database = mongoClient.getDatabase("testDatabase"); MongoCollection<Document> collection = database.getCollection("testCollection");
팁
제공된 컬렉션 이름이 데이터베이스에 아직 존재하지 않는 경우, 해당 컬렉션에 데이터를 처음 삽입할 때 MongoDB가 암시적으로 컬렉션을 생성합니다.
컬렉션 생성
createCollection() 인스턴스 의 메서드를 사용하여 MongoDatabase
연결된 MongoDB 인스턴스 의 데이터베이스 에 컬렉션 을 생성합니다.
다음 예에서는 'exampleCollection'이라는 컬렉션을 만듭니다.
database.createCollection("exampleCollection");
CreateCollectionOptions 를 사용하여 최대 크기 및 문서 유효성 검사 규칙과 같은 컬렉션 옵션을 지정할 수 있습니다. 클래스. createCollection()
메서드는 CreateCollectionOptions
의 인스턴스를 두 번째 매개 변수로 허용합니다(선택 사항).
문서 유효성 검사
문서 유효성 검사 는 컬렉션에 쓰는 동안 일련의 필터에 대해 문서의 유효성을 검사하는 기능을 제공합니다. ValidationOptions 를 사용하여 이러한 필터를 지정할 수 있습니다. 일련의 필터 를 허용하는 클래스 유효성 검사 규칙 및 표현식을 지정합니다.
ValidationOptions collOptions = new ValidationOptions().validator( Filters.or(Filters.exists("commander"), Filters.exists("first officer"))); database.createCollection("ships", new CreateCollectionOptions().validationOptions(collOptions));
자세한 내용은 문서 유효성 검사에 대한 서버 설명서를 참조하세요.
컬렉션 목록 가져오기
MongoDatabase.listCollectionNames() 메서드 를 사용하여 데이터베이스의 컬렉션 목록을 메서드:
for (String name : database.listCollectionNames()) { System.out.println(name); }
제거 collection
MongoCollection.drop() 메서드 를 사용하여 데이터베이스 에서 컬렉션 을 제거 할 수 있습니다. 메서드:
MongoCollection<Document> collection = database.getCollection("bass"); collection.drop();
경고
컬렉션을 제거하면 컬렉션의 모든 데이터가 삭제됨
데이터베이스에서 컬렉션을 제거하면 해당 컬렉션 내의 모든 문서와 해당 컬렉션의 모든 인덱스도 영구적으로 삭제됩니다. 더 이상 필요하지 않은 데이터가 포함된 컬렉션만 제거하세요.
읽기 설정, 읽기 고려, 쓰기 고려 지정하기
읽기 설정, 읽기 고려, 쓰기 고려는 드라이버가 읽기 작업을 라우팅하고 MongoDB 복제본 세트에 연결될 때 읽기 및 쓰기 작업에 대한 승인을 기다리는 방법을 제어합니다. 읽기 설정 및 읽기 고려는 모든 읽기 작업에 적용되고 쓰기 고려는 모든 쓰기 작업에 적용됩니다.
MongoDatabase
인스턴스는 인스턴스를 생성할 때 사용한 MongoClient
의 쓰기 고려, 읽기 고려, 쓰기 설정을 상속합니다. MongoCollection
인스턴스는 인스턴스를 생성할 때 사용한 MongoDatabase
의 쓰기 고려, 읽기 고려, 쓰기 설정을 상속합니다. 하지만 다음 메서드를 사용하여 읽기 설정, 읽기 고려 또는 쓰기 고려가 일반적으로 상속되는 설정과 다른 MongoDatabase
또는 MongoCollection
인스턴스를 가져올 수 있습니다.
팁
withReadConcern()
, withReadPreference()
, withWriteConcern
메서드는 원하는 설정이나 고려 항목이 있는 MongoDatabase
또는 MongoCollection
인스턴스를 새로 만듭니다. 메서드가 호출되는 MongoDatabase
또는 MongoCollection
은 원래 설정 및 고려 설정을 유지합니다.
자세한 내용은 읽기 설정, 읽기 고려 및 쓰기 고려에 대한 서버 설명서를 참조하세요.