Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

연결 대상 선택

이 가이드 에서는 연결 문자열 과 Client 인스턴스 사용하여 다양한 유형의 MongoDB 배포에 연결하는 방법을 학습 수 있습니다.

MongoDB 에서 deployment에 Atlas 연결하려면 연결 에 다음 요소를 string 포함하세요.

  • Atlas cluster의 URL

  • MongoDB 사용자 이름

  • MongoDB 비밀번호

그런 다음 연결 문자열 사용하여 Client 인스턴스 구성합니다.

Atlas 드라이버 연결 가이드 에 따라 연결 string 을 검색합니다.

Atlas 에 연결할 때는 Stable API 클라이언트 옵션을 사용하여 Atlas 새 버전의 MongoDB Server 로 업그레이드할 때 호환성이 손상되는 변경이 발생하지 않도록 하는 것이 좋습니다. Stable API 기능 에 대해 자세히 학습 Stable API 가이드 참조하세요.

다음 코드는 Atlas 연결 문자열과 Stable API 버전을 사용하는 클라이언트를 만들고, MongoDB에 연결하고, 연결이 성공했는지 확인하는 방법을 보여줍니다. 해당 연결 코드 샘플을 보려면 아래의 Asynchronous API 또는 Synchronous API 탭에서 선택하세요.

비동기 및 동기 런타임에 대해 자세히 알아보려면 비동기 및 동기 API 가이드를 참조하세요.

use mongodb::{ bson::doc, options::{ ClientOptions, ServerApi, ServerApiVersion }, Client };
#[tokio::main]
async fn main() -> mongodb::error::Result<()> {
// Replace the placeholder with your Atlas connection string
let uri = "<connection string>";
let mut client_options = ClientOptions::parse(uri).await?;
// Set the server_api field of the client_options object to Stable API version 1
let server_api = ServerApi::builder().version(ServerApiVersion::V1).build();
client_options.server_api = Some(server_api);
// Create a new client and connect to the server
let client = Client::with_options(client_options)?;
// Send a ping to confirm a successful connection
client.database("admin").run_command(doc! { "ping": 1 }).await?;
println!("Pinged your deployment. You successfully connected to MongoDB!");
Ok(())
}
use mongodb::{ bson::doc, options::{ ClientOptions, ServerApi, ServerApiVersion }, sync::Client };
fn main() -> mongodb::error::Result<()> {
// Replace the placeholder with your Atlas connection string
let uri = "<connection string>";
let mut client_options = ClientOptions::parse(uri).run()?;
// Set the server_api field of the client_options object to Stable API version 1
let server_api = ServerApi::builder().version(ServerApiVersion::V1).build();
client_options.server_api = Some(server_api);
// Create a new client and connect to the server
let client = Client::with_options(client_options)?;
// Send a ping to confirm a successful connection
client.database("admin").run_command(doc! { "ping": 1 }).run()?;
println!("Pinged your deployment. You successfully connected to MongoDB!");
Ok(())
}

Atlas에서 호스팅되지 않는 단일 MongoDB 서버 인스턴스 또는 복제본 세트에 연결해야 하는 경우, 다음 섹션을 참조하여 연결 방법을 알아보세요.

개발 목적으로 로컬 시스템에서 MongoDB Server를 실행해야 하는 경우 다음을 완료해야 합니다.

  1. MongoDB 설치 튜토리얼에 따라 컴퓨터에 MongoDB Server 를 설치합니다. 시스템 및 운영 체제에 적합한 설치 튜토리얼을 선택합니다.

  2. 설치를 완료한 후 서버를 시작합니다.

중요

항상 악의적인 공격으로부터 서버를 보호하세요. 보안 체크 리스트에서 보안 권장 사항 목록을 확인하세요.

MongoDB Server를 성공적으로 시작한 후 다음 단계를 수행하여 로컬 인스턴스에 연결합니다.

  1. 앞의 예제 에서 변수에 저장된 연결 string uri 을 string 로컬 인스턴스의 연결 MongoDB 로 바꿉니다.

    MongoDB 서버가 로컬로 실행 중인 경우 다음 연결 문자열을 사용하여 MongoDB에 연결할 수 있습니다.

    mongodb://localhost:<port>

    이 연결 문자열에서 <port>는 들어오는 연결을 수신하도록 서버를 구성한 포트 번호입니다.

  2. 연결 코드를 실행합니다. 코드가 성공적으로 실행되면 콘솔에 다음 출력이 표시됩니다.

    Pinged your deployment. You successfully connected to MongoDB!

연결 문자열 및 사용자 지정 형식에 대해 자세히 알아보려면 서버 매뉴얼의 연결 문자열을 참조하세요.

MongoDB 복제본 세트 배포는 연결된 인스턴스 또는 노드의 그룹으로, 노드는 동일한 데이터 세트를 저장합니다. 이러한 인스턴스 구성은 데이터 중복성과 높은 데이터 가용성을 제공합니다.

복제본 세트 배포서버에 연결하려면 각 인스턴스의 호스트 이름과 포트 번호를 쉼표로 구분하고, 연결 문자열의 replicaSet 매개변수 값으로 복제본 세트 이름을 지정하세요.

다음 예시에서 호스트 이름은 host1, host2, host3이고 포트 번호는 모두 27017입니다. 복제본 세트 이름은 myRS입니다. 다음 코드는 이러한 사양의 복제본 세트에 대한 연결 URI를 보여줍니다.

mongodb://host1:27017,host2:27017,host3:27017/?replicaSet=myRS

복제본 세트에 연결할 때 드라이버는 기본적으로 다음 작업을 수행합니다.

  • 한 멤버의 주소가 제공되면 모든 복제본 세트 멤버를 검색합니다.

  • 프라이머리 노드에 대한 쓰기 지침과 같은 작업을 적절한 멤버에게 보냅니다. 복제본 세트 프라이머리에 대해 자세히 알아보려면 MongoDB Server 매뉴얼의 복제본 세트 프라이머리를 참조하세요.

복제본 세트에 연결하려면 하나의 호스트만 지정하면 됩니다. 하지만 지정된 호스트를 사용할 수 없을 때 연결을 보장하려면 전체 호스트 목록을 제공해야 합니다.

연결 URI에 지정된 호스트에서 작업을 강제하려면 directConnection 옵션을 지정합니다. 직접 연결은 다음과 같은 동작을 표시합니다.

  • SRV 문자열은 지원하지 않습니다.

  • 지정된 호스트가 기본 호스트가 아닌 경우 쓰기에 실패합니다.

  • 지정한 호스트가 프라이머리 노드가 아닌 경우 세컨더리 읽기 설정을 지정하도록 요구합니다. 이러한 복제본 세트 노드에 대해 자세히 알아보려면 서버 매뉴얼에서 복제본 세트 세컨더리 노드를 참조하세요.

참고

Docker에서의 복제본 세트

복제본 세트 Docker 에서 실행되면 MongoDB 엔드포인트를 하나만 노출할 수 있습니다. 이 경우 복제본 세트 검색할 수 없습니다. 연결 URI에 directConnection=false 을(를) 지정하거나 이 옵션을 설정하지 않은 상태로 두면 애플리케이션 연결 URI에 연결되지 않을 수 있습니다.

테스트 또는 개발 환경에서 directConnection=true를 지정하여 복제본 세트에 연결할 수 있습니다. 프로덕션 환경에서는 Docker 가상 네트워크 외부에서 각 MongoDB 인스턴스에 액세스할 수 있도록 클러스터를 구성하는 것이 좋습니다.

DNS 서비스 검색을 사용하여 연결하려는 서비스의 DNS SRV 기록 조회하려면 연결 문자열 에 SRV 연결 형식을 지정합니다. 이 형식을 지정하면 Rust 운전자 자동으로 새 호스트를 다시 검색합니다. 배포서버 에서는 클라이언트 구성을 변경하지 않고도 토폴로지 에 호스트를 추가할 수 있습니다.

다음 코드는 SRV 연결 형식을 사용하는 연결 문자열 보여줍니다.

let uri = "mongodb+srv://<hostname>/";

SRV 연결 형식에 대해 자세히 학습 MongoDB Server 매뉴얼의 SRV 연결 형식 항목을 참조하세요.

Rust 운전자 사용하여 인스턴스 만드는 방법에 대해 자세히 학습 클라이언트용 API Client 설명서를 참조하세요.

돌아가기

MongoDB 클라이언트 만들기

이 페이지의 내용