이 가이드에서는 .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-quickstartcd csharp-quickstartdotnet 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 ?? [])}");
[BsonIgnoreExtraElements]public class Movie{ [BsonId] public ObjectId Id { get; set; }
[BsonElement("title")] public string? Title { get; set; }
[BsonElement("plot")] public string? Plot { get; set; }
[BsonElement("genres")] 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 FuturePlot: 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# 드라이버를 사용하여 데이터를 읽고 수정하는 방법 또는 사용 예시에서 일반적인 작업을 수행하는 방법을 알아보세요.