이 가이드에서는 .NET/C# 드라이버를 사용하여 MongoDB Atlas 클러스터에 연결하는 애플리케이션을 만드는 방법을 보여 줍니다. 다른 드라이버 또는 프로그래밍 언어를 사용하여 MongoDB에 연결하려는 경우 공식 MongoDB 드라이버 목록을 참조하세요.
.NET/C# 드라이버를 사용하면 .NET 애플리케이션에서 MongoDB 클러스터에 연결하고 통신할 수 있습니다.
MongoDB Atlas는 MongoDB 클러스터에서 데이터를 호스팅하는 완전 관리형 클라우드 데이터베이스 서비스입니다. 이 가이드에서는 무료(신용카드 필요 없음) 클러스터를 시작하는 방법을 보여줍니다.
아래 단계에 따라 .NET 애플리케이션을 MongoDB Atlas 클러스터와 연결하세요.
MongoDB 클러스터 생성
Atlas에서 프리 티어 클러스터 설정하기
이 가이드에 필요한 Atlas 프리 티어 클러스터를 설정하는 방법은 MongoDB Atlas 설정에 관한 가이드를 살펴보세요.
Atlas 가이드의 단계를 완료하고 나면, Atlas에 새 MongoDB 클러스터가 배포되고, 새 데이터베이스 사용자 및 샘플 데이터 세트가 클러스터에 로드됩니다. 또한 복사 버퍼에 다음과 유사한 연결 문자열이 있습니다.
"mongodb+srv://<db_username>:<db_password>@cluster0.abc.mongodb.net/?retryWrites=true&w=majority"
연결 문자열 설정
명령 프롬프트에서 다음 코드를 실행해 MongoDB 연결 문자열을 환경 변수에 저장합니다. 이 방법은 소스 코드에 자격 증명을 포함하는 것보다 안전합니다.
export MONGODB_URI="<your MongoDB URI>"
참고
PowerShell 환경 변수
Microsoft PowerShell을 사용하는 경우 다음 명령을 실행하여 연결 문자열을 환경 변수에 저장합니다.
set MONGODB_URI="<your MongoDB URI>"
중요
연결 문자열의 <db_username> 및 <db_password> 섹션을 Atlas 데이터베이스 사용자의 사용자 이름 및 비밀번호로 바꿔야 합니다.
연결 문자열에 대한 자세한 내용은 연결 문자열을 참조하세요.
프로젝트 설정
프로젝트 만들기
다음과 같이 dotnet new 명령을 사용해 새로운 디렉토리를 만들고 프로젝트를 초기화합니다.
mkdir csharp-quickstart cd csharp-quickstart dotnet new console
종속성으로 MongoDB 추가하기
dotnet add 명령을 사용하여 .NET/C# 드라이버를 프로젝트에 종속성으로 추가합니다.
dotnet add package MongoDB.Driver
애플리케이션에서 MongoDB 클러스터 쿼리하기
다음 코드를 복사하여 애플리케이션 의 Program.cs 파일 에 붙여넣습니다. BsonDocument 또는 POCO(Plain Old CLR Object)를 사용하여 문서를 쿼리 하도록 선택할 수 있습니다. 해당 탭 선택하여 각 접근 방식의 예시 확인합니다.
using MongoDB.Bson; using MongoDB.Bson.IO; using MongoDB.Driver; var connectionString = Environment.GetEnvironmentVariable("MONGODB_URI"); if (connectionString == null) { Console.WriteLine("You must set your 'MONGODB_URI' environment variable. To learn how to set it, see https://www.mongodb.com/ko-kr/docs/drivers/csharp/current/get-started/create-connection-string"); Environment.Exit(0); } var client = new MongoClient(connectionString); var collection = client.GetDatabase("sample_mflix").GetCollection<BsonDocument>("movies"); var filter = Builders<BsonDocument>.Filter.Eq("title", "Back to the Future"); var document = collection.Find(filter).First(); Console.WriteLine(document.ToJson(new JsonWriterSettings { Indent = true }));
using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; using MongoDB.Driver; var connectionString = Environment.GetEnvironmentVariable("MONGODB_URI"); if (connectionString == null) { Console.WriteLine("You must set your 'MONGODB_URI' environment variable. To learn how to set it, see https://www.mongodb.com/ko-kr/docs/drivers/csharp/current/get-started/create-connection-string"); Environment.Exit(0); } var client = new MongoClient(connectionString); var collection = client.GetDatabase("sample_mflix").GetCollection<Movie>("movies"); var filter = Builders<Movie>.Filter.Eq(m => m.Title, "Back to the Future"); var movie = collection.Find(filter).First(); Console.WriteLine($"Title: {movie.Title}"); Console.WriteLine($"Plot: {movie.Plot}"); Console.WriteLine($"Genres: {string.Join(", ", movie.Genres ?? [])}"); [] public class Movie { [] public ObjectId Id { get; set; } [] public string? Title { get; set; } [] public string? Plot { get; set; } [] public List<string>? Genres { get; set; } }
팁
.NET/ C# 드라이버 에서 POCO를 사용하는 방법에 대해 자세히 학습하려면 POCO 가이드를 참조하세요.
명령줄에서 다음 명령을 사용하여 애플리케이션을 실행합니다.
dotnet run csharp-quickstart.csproj
출력에는 검색된 영화 문서 의 세부 정보가 포함됩니다. 다음은 각 접근 방식에 대한 출력입니다.
{ _id: ..., plot: 'A young man is accidentally sent 30 years into the past...', genres: [ 'Adventure', 'Comedy', 'Sci-Fi' ], ... title: 'Back to the Future', ... }
Title: Back to the Future Plot: A young man is accidentally sent 30 years into the past... Genres: Adventure, Comedy, Sci-Fi
팁
오류가 발생하거나 출력이 표시되지 않는 경우 적절한 연결 문자열 지정했는지, 샘플 데이터를 로드했는지 확인합니다.
이 단계를 완료하면 .NET/C# 드라이버를 사용하여 MongoDB 클러스터에 연결하고 샘플 데이터에 대해 쿼리를 실행하고 결과를 출력하는 등 정상적으로 작동하는 애플리케이션이 만들어집니다.
.NET/C# 드라이버를 사용하여 Atlas에 연결하는 방법에 대해 자세히 알아보려면 Atlas 드라이버 연결 가이드를 참조하고 Select your language 드롭다운에서 C#을 선택하세요.
다음 단계
CRUD 작업 가이드에서 .NET/C# 드라이버를 사용하여 데이터를 읽고 수정하는 방법 또는 사용 예시에서 일반적인 작업을 수행하는 방법을 알아보세요.