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
/ /

Rust 시작하기

이 가이드 MongoDB Rust 드라이버 사용하여 MongoDB Atlas 에서 호스팅되는 MongoDB cluster 에 연결하는 애플리케이션 만드는 방법을 보여줍니다. 다른 운전자 또는 프로그래밍 언어 사용하여 MongoDB 에 연결하는 방법을 학습 공식 드라이버 목록을 참조하세요.

Rust 운전자 는 MongoDB에 연결하고 MongoDB 와 통신하는 데 사용할 수 있는 함수 라이브러리입니다.

MongoDB Atlas는 관리형 클라우드 데이터베이스 서비스로, MongoDB deployment를 호스팅합니다. 이 가이드의 단계에 따라 자체 무료(신용카드 필요 없음) MongoDB Atlas 배포서버를 생성할 수 있습니다.

샘플 Rust 애플리케이션을 MongoDB Atlas 배포서버에 연결하려면 이 가이드의 단계를 따르세요.

1

개발 환경에 Rust 1.74 이상과 Rust 패키지 관리자인 Cargo가 설치되어 있는지 확인합니다.

Rust 및 Cargo 설치 방법에 대한 자세한 내용은 Rust 다운로드 및 설치에 대한 공식 Rust 가이드 참조하세요.

2

셸에서 다음 명령어를 실행하여 이 프로젝트에 대해 rust_quickstart라고 명명한 디렉토리를 만듭니다.

cargo new rust_quickstart

이 명령이 성공적으로 완료되면 rust_quickstart 디렉토리에 Cargo.toml 파일과 src 파일이 있는 main.rs 파일이 생깁니다.

다음 명령을 실행하여 프로젝트 디렉토리로 이동합니다.

cd rust_quickstart
3

프로젝트의 Cargo.toml 파일에 있는 종속성 목록에 다음 크레이트를 포함하여 프로젝트에 추가합니다.

  • mongodb, Rust 드라이버 크레이트

  • serde직렬화 크레이트

  • futures핵심 추상화를 제공하는 비동기 런타임 크레이트

mongodb 크레이트는 기본 MongoDB 데이터 표현 크레이트인 bson 크레이트를 확인합니다. 의존성 목록에서 bson 크레이트를 생략할 수 있습니다.

드라이버는 비동기 및 동기 런타임을 모두 지원합니다. 각 런타임에 대한 예제 종속성 목록을 보려면 다음 Asynchronous APISynchronous 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 Atlas에 프리 티어 MongoDB 배포를 생성하여 데이터를 저장하고 관리할 수 있습니다. MongoDB Atlas는 클라우드에서 MongoDB database를 호스팅하고 관리합니다.

1

MongoDB 시작하기 가이드 완료하여 새 Atlas 계정을 설정하다 하고 샘플 데이터를 새 무료 계층 MongoDB deployment 에 로드합니다.

2

데이터베이스 사용자를 생성한 후 다음 단계에서 사용할 수 있도록 해당 사용자의 사용자 이름과 비밀번호를 안전한 위치에 저장하세요.

이 단계를 완료하면 Atlas에 새로운 프리 티어 MongoDB 배포서버, 데이터베이스 사용자 자격 증명 및 샘플 데이터가 데이터베이스에 로드됩니다.

연결 문자열 이라고도 하는 연결 URI를 제공하여 MongoDB deployment 에 연결할 수 있습니다. 연결 문자열 운전자 에 MongoDB deployment 에 연결하는 방법과 연결된 상태에서 작동하는 방법을 지시합니다.

연결 문자열에는 배포서버의 호스트 이름 또는 IP 주소와 포트, 인증 메커니즘, 해당되는 경우 사용자 자격 증명, 연결 옵션 등이 포함됩니다.

Atlas에서 호스팅되지 않는 인스턴스 또는 배포에 연결하려면 MongoDB에 연결하는 다른 방법을 참조하세요.

1

이전 단계에서 만든 배포서버에 대한 연결 문자열 조회 하려면 Atlas 계정에 로그인 하고 Database 섹션 아래의 Clusters 페이지로 이동합니다. 새 배포서버 의 Connect 버튼을 클릭합니다.

Atlas UI의 클러스터 섹션에 있는 연결 버튼

아직 데이터베이스 사용자를 구성하지 않은 경우 MongoDB 새 사용자를 생성하고 구성하라는 메시지를 표시합니다.

Connect to your application 아래의 Drivers 버튼을 클릭하고 Driver 선택 메뉴에서 "Rust"를 선택하고, Version 선택 메뉴에서 설치한 버전과 가장 일치하는 버전을 선택합니다.

연결 문자열 만 보려면 View full code sample 옵션의 선택을 취소합니다.

2

다음 스크린샷과 같이 연결 string 오른쪽에 있는 복사 아이콘을 클릭하여 클립보드에 복사합니다.

Atlas UI의 연결 문자열 복사 버튼
3

이 연결 문자열 원하는 텍스트 편집기의 파일 에 붙여넣고 <db_password> 자리 표시자를 데이터베이스 사용자의 비밀번호로 바꿉니다. 연결 문자열 이 이미 데이터베이스 사용자의 사용자 이름 으로 채워져 있습니다.

다음 단계에서 사용할 수 있도록 이 파일을 안전한 위치에 저장합니다.

이 단계를 완료하면 데이터베이스 사용자 이름과 비밀번호가 포함된 연결 문자열이 생성됩니다.

참고

이 단계에서 문제가 실행 하면 MongoDB Stack Overflow 태그 를 지정하다 또는 일반 기술 지원 위한 MongoDB Reddit Community 를 참조하거나 연결 문제 해결 가이드 참조하세요.

1

rust_quickstart/src 프로젝트 디렉토리 에서 main.rs 파일 엽니다. 이 파일 에서 애플리케이션 작성을 시작할 수 있습니다.

다음 코드를 복사하여 main.rs 파일에 붙여넣습니다.

use mongodb::{
bson::{Document, doc},
Client,
Collection
};
#[tokio::main]
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(())
}
2

<connection string URI> 자리 표시자를 이 가이드의 연결 문자열 만들기 단계에서 복사한 연결 문자열로 바꿉니다.

3

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을 사용하여 간단한 웹 앱 빌드 방법을 알아보세요.

돌아가기

개요

이 페이지의 내용