빠른 시작
이 페이지의 내용
이 가이드 에서는 EF Core Provider를 사용하여 MongoDB Atlas cluster 에 연결하는 .NET 애플리케이션 을 만드는 방법을 보여줍니다. 다른 프로그래밍 언어 를 사용하여 MongoDB 에 연결하려는 경우 공식 MongoDB 드라이버 목록을 참조하세요.
EF Core 제공자는 데이터를 .NET 객체에 매핑하여 MongoDB 클러스터의 데이터에 대한 작업을 간소화합니다.
MongoDB Atlas는 MongoDB 클러스터에서 데이터를 호스팅하는 완전 관리형 클라우드 데이터베이스 서비스입니다. 이 가이드에서는 무료(신용카드 필요 없음) 클러스터를 시작하는 방법을 보여줍니다.
아래 단계에 따라 EF Core Provider 애플리케이션 을 MongoDB Atlas cluster 에 연결합니다.
MongoDB 클러스터 생성
Atlas에서 프리 티어 클러스터 설정하기
이 빠른 시작에 필요한 Atlas 무료 클러스터를 설정하려면 MongoDB Atlas 설정 가이드를 완료하세요.
가이드의 Atlas 단계를 완료하면 MongoDB cluster 에 새 가 배포되고,Atlas 새 데이터베이스 사용자가 생성되고, 샘플 데이터 세트가 클러스터에 로드됩니다. 또한 복사 버퍼에 다음과 유사한 연결 string 이 있습니다.
"mongodb+srv://<username>:<password>@cluster0.abc.mongodb.net/?retryWrites=true&w=majority"
환경 변수에 연결 string 추가
shell 에서 다음 코드를 실행하여 이전 단계의 복사 버퍼에 있는 MongoDB 연결 string 을 환경 변수에 저장합니다. 연결 string 을 환경 변수에 저장하면 자격 증명이 소스 코드와 별도로 유지됩니다. 이렇게 구분하면 코드를 공유할 때 자격 증명이 노출될 가능성이 줄어듭니다.
export MONGODB_URI='<your connection string>'
중요
연결 string 의 <username>
및 <password>
섹션을 데이터베이스 사용자의 사용자 이름 및 비밀번호로 바꿔야 합니다.
프로젝트 설정
애플리케이션에서 MongoDB 클러스터 쿼리하기
샘플 코드 추가
프로젝트의 기본 디렉토리에서 Program.cs
파일을 엽니다. 다음 샘플 코드를 Program.cs
에 복사합니다.
using Microsoft.EntityFrameworkCore; using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; using MongoDB.Driver; using MongoDB.EntityFrameworkCore.Extensions; 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/quick-start/#set-your-connection-string"); Environment.Exit(0); } var client = new MongoClient(connectionString); var db = MflixDbContext.Create(client.GetDatabase("sample_mflix")); var movie = db.Movies.First(m => m.Title == "Back to the Future"); Console.WriteLine(movie.Plot); public class MflixDbContext : DbContext { public DbSet<Movie> Movies { get; init; } public static MflixDbContext Create(IMongoDatabase database) => new(new DbContextOptionsBuilder<MflixDbContext>() .UseMongoDB(database.Client, database.DatabaseNamespace.DatabaseName) .Options); public MflixDbContext(DbContextOptions options) : base(options) { } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity<Movie>().ToCollection("movies"); } } public class Movie { [ ] public ObjectId _id { get; set; } [ ] public string Title { get; set; } [ ] public string Rated { get; set; } [ ] public string Plot { get; set; } }
샘플 데이터 쿼리
shell 에서 다음 명령을 실행합니다. 샘플 데이터 세트에서 영화 '백 투 더 퓨처'의 줄거리가 출력되어야 합니다.
dotnet run entity-quickstart.csproj
A young man is accidentally sent 30 years into the past in a time-traveling DeLorean invented by his friend, Dr. Emmett Brown, and must make sure his high-school-age parents unite in order to save his own existence.
팁
출력이 비어 있으면 샘플 데이터 세트를 클러스터에 로드했는지 확인하세요.
이 단계를 완료하면 MongoDB cluster 에 연결하고 샘플 데이터에 대해 쿼리를 실행하고 결과를 출력하는 Entity Framework 애플리케이션이 작동해야 합니다.
다음 단계
빠른 참조에서 EF Core Provider를 사용하여 일반적인 작업을 수행하는 방법을 알아보세요.