개요
이 가이드 MongoDB Rust 드라이버 사용하여 MongoDB Atlas 에서 호스팅되는 MongoDB cluster 에 연결하는 애플리케이션 만드는 방법을 보여줍니다. 다른 운전자 또는 프로그래밍 언어 사용하여 MongoDB 에 연결하는 방법을 학습 공식 드라이버 목록을 참조하세요.
Rust 운전자 는 MongoDB에 연결하고 MongoDB 와 통신하는 데 사용할 수 있는 함수 라이브러리입니다.
MongoDB Atlas는 관리형 클라우드 데이터베이스 서비스로, MongoDB deployment를 호스팅합니다. 이 가이드의 단계에 따라 자체 무료(신용카드 필요 없음) MongoDB Atlas 배포서버를 생성할 수 있습니다.
샘플 Rust 애플리케이션을 MongoDB Atlas 배포서버에 연결하려면 이 가이드의 단계를 따르세요.
다운로드 및 설치
Rust 와 Cargo를 설치합니다.
개발 환경에 Rust 1.74 이상과 Rust 패키지 관리자인 Cargo가 설치되어 있는지 확인합니다.
Rust 및 Cargo 설치 방법에 대한 자세한 내용은 Rust 다운로드 및 설치에 대한 공식 Rust 가이드 참조하세요.
Rust 드라이버 설치합니다.
프로젝트의 Cargo.toml 파일에 있는 종속성 목록에 다음 크레이트를 포함하여 프로젝트에 추가합니다.
mongodb, Rust 드라이버 크레이트serde직렬화 크레이트futures핵심 추상화를 제공하는 비동기 런타임 크레이트
팁
mongodb 크레이트는 기본 MongoDB 데이터 표현 크레이트인 bson 크레이트를 확인합니다. 의존성 목록에서 bson 크레이트를 생략할 수 있습니다.
드라이버는 비동기 및 동기 런타임을 모두 지원합니다. 각 런타임에 대한 예제 종속성 목록을 보려면 다음 Asynchronous API 및 Synchronous API 탭에서 선택합니다.
[dependencies] serde = "1.0.188" futures = "0.3.28" tokio = {version = "1.32.0", features = ["full"]} [dependencies.mongodb] version = "3.5.2"
[dependencies] serde = "1.0.188" [dependencies.mongodb] version = "3.5.2" features = ["sync"]
비동기 및 동기 런타임에 학습 보려면 비동기 및 동기 API 가이드 를 참조하세요.
이 단계를 완료하면 Rust와 Cargo가 설치되고 필요한 드라이버 종속성이 있는 새 Rust 프로젝트가 생깁니다.
MongoDB Deployment 생성
MongoDB Atlas에 프리 티어 MongoDB 배포를 생성하여 데이터를 저장하고 관리할 수 있습니다. MongoDB Atlas는 클라우드에서 MongoDB database를 호스팅하고 관리합니다.
Atlas 에서 무료 MongoDB deployment 생성합니다.
MongoDB 시작하기 가이드 완료하여 새 Atlas 계정을 설정하다 하고 샘플 데이터를 새 무료 계층 MongoDB deployment 에 로드합니다.
이 단계를 완료하면 Atlas에 새로운 프리 티어 MongoDB 배포서버, 데이터베이스 사용자 자격 증명 및 샘플 데이터가 데이터베이스에 로드됩니다.
연결 문자열 만들기
연결 문자열 이라고도 하는 연결 URI를 제공하여 MongoDB deployment 에 연결할 수 있습니다. 연결 문자열 운전자 에 MongoDB deployment 에 연결하는 방법과 연결된 상태에서 작동하는 방법을 지시합니다.
연결 문자열에는 배포서버의 호스트 이름 또는 IP 주소와 포트, 인증 메커니즘, 해당되는 경우 사용자 자격 증명, 연결 옵션 등이 포함됩니다.
Atlas에서 호스팅되지 않는 인스턴스 또는 배포에 연결하려면 MongoDB에 연결하는 다른 방법을 참조하세요.
MongoDB Atlas 연결 문자열 찾습니다.
이전 단계에서 만든 배포서버에 대한 연결 문자열 조회 하려면 Atlas 계정에 로그인 하고 Database 섹션 아래의 Clusters 페이지로 이동합니다. 새 배포서버 의 Connect 버튼을 클릭합니다.

아직 데이터베이스 사용자를 구성하지 않은 경우 MongoDB 새 사용자를 생성하고 구성하라는 메시지를 표시합니다.
Connect to your application 아래의 Drivers 버튼을 클릭하고 Driver 선택 메뉴에서 "Rust"를 선택하고, Version 선택 메뉴에서 설치한 버전과 가장 일치하는 버전을 선택합니다.
연결 문자열 만 보려면 View full code sample 옵션의 선택을 취소합니다.
이 단계를 완료하면 데이터베이스 사용자 이름과 비밀번호가 포함된 연결 문자열이 생성됩니다.
참고
이 단계에서 문제가 실행 하면 MongoDB Stack Overflow 태그 를 지정하다 또는 일반 기술 지원 위한 MongoDB Reddit Community 를 참조하거나 연결 문제 해결 가이드 참조하세요.
MongoDB에 연결
Rust 애플리케이션 만듭니다.
rust_quickstart/src 프로젝트 디렉토리 에서 main.rs 파일 엽니다. 이 파일 에서 애플리케이션 작성을 시작할 수 있습니다.
다음 코드를 복사하여 main.rs 파일에 붙여넣습니다.
use mongodb::{ bson::{Document, doc}, Client, Collection }; async fn main() -> mongodb::error::Result<()> { // Replace the placeholder with your Atlas connection string let uri = "<connection string URI>"; // Create a new client and connect to the server let client = Client::with_uri_str(uri).await?; // Get a handle on the movies collection let database = client.database("sample_mflix"); let my_coll: Collection<Document> = database.collection("movies"); // Find a movie based on the title value let my_movie = my_coll.find_one(doc! { "title": "The Perils of Pauline" }).await?; // Print the document println!("Found a movie:\n{:#?}", my_movie); Ok(()) }
use mongodb::{ bson::{Document, doc}, sync::{Client, Collection} }; fn main() -> mongodb::error::Result<()> { // Replace the placeholder with your Atlas connection string let uri = "<connection string URI>"; // Create a new client and connect to the server let client = Client::with_uri_str(uri)?; // Get a handle on the movies collection let database = client.database("sample_mflix"); let my_coll: Collection<Document> = database.collection("movies"); // Find a movie based on the title value let my_movie = my_coll .find_one(doc! { "title": "The Perils of Pauline" }) .run()?; // Print the document println!("Found a movie:\n{:#?}", my_movie); Ok(()) }
연결 문자열 할당합니다.
<connection string URI> 자리 표시자를 이 가이드의 연결 문자열 만들기 단계에서 복사한 연결 문자열로 바꿉니다.
Rust 애플리케이션 실행합니다.
rust_quickstart 프로젝트 디렉토리 에서 다음 명령을 실행 이 애플리케이션 컴파일하고 실행 .
cargo run
명령줄 출력에는 검색된 영화 문서에 대한 세부 정보가 포함됩니다.
Found a movie: Some( Document({ "_id": ObjectId(...), "title": String( "The Perils of Pauline", ), "plot": String( "Young Pauline is left a lot of money ...", ), "runtime": Int32( 199, ), "cast": Array([ String( "Pearl White", ), String( "Crane Wilbur", ), ... ]), }), )
오류가 발생하거나 출력이 표시되지 않는 경우 main.rs 파일에 적절한 연결 문자열을 지정했는지, 그리고 샘플 데이터를 로드했는지 확인합니다.
참고
이 단계에서 문제가 실행 하면 MongoDB Stack Overflow 태그 를 지정하다 또는 일반 기술 지원 위한 MongoDB Reddit Community 를 참조하거나 연결 문제 해결 가이드 참조하세요.
이 단계를 완료한 후에는 드라이버를 사용하여 MongoDB deployment에 연결하고, 샘플 데이터에 대해 쿼리를 실행하고, 결과를 출력하는 등 정상적으로 작동하는 애플리케이션을 갖게 될 것입니다.
다음 단계
빠른 시작 튜토리얼을 완료하신 것을 축하드립니다!
이 튜토리얼에서는 MongoDB Atlas에 호스팅된 MongoDB 배포에 연결하고 쿼리와 일치하는 문서를 검색하는 Rust 애플리케이션을 만들었습니다.
다음 리소스에서 MongoDB Rust 드라이버에 대해 자세히 알아보세요.
CRUD 작업 섹션에서 읽기 및 쓰기 작업을 수행하는 방법을 알아보세요.
Rocket으로 CRUD 웹 앱 만들기 튜토리얼에서 CRUD 개념을 적용 Rocket을 사용하여 간단한 웹 앱 빌드 방법을 알아보세요.
