AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

빠른 참조

이 페이지에는 여러 명령에 대한 제공자 구문과 관련 API 문서 링크가 나와 있습니다.

명령
구문

DBContext 구성

API 문서
Fundamentals

public class PlanetDbContext : DbContext
{
public DbSet<Planet> Planets { get; init; } = null!;
public static PlanetDbContext Create(IMongoDatabase database) =>
new(new DbContextOptionsBuilder<PlanetDbContext>()
.UseMongoDB(database.Client, database.DatabaseNamespace.DatabaseName)
.Options);
public PlanetDbContext(DbContextOptions options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Planet>().ToCollection("planets");
modelBuilder.Entity<Planet>().Property<string[]>("mainAtmosphere");
}
}

DBContext 인스턴스 만들기

Fundamentals

var client = new MongoClient("<connection string URI>");
var db = PlanetDbContext.Create(client.GetDatabase("sample_guides"));

엔터티 찾기

API 문서
Fundamentals

var planet = db.Planets.FirstOrDefault(p => p.name == "Mercury");
Console.WriteLine(planet?.name);

여러 엔터티 찾기

API 문서
Fundamentals

var planets = db.Planets.Where(p => p.hasRings);
foreach (var p in planets)
{
Console.WriteLine(p.name);
}

엔터티 삽입

API 문서
Fundamentals

db.Planets.Add(new Planet()
{
name = "Pluto",
hasRings = false,
orderFromSun = 9
});
db.SaveChanges();

여러 엔티티 삽입

API 문서
Fundamentals

var planets = new[]
{
new Planet()
{
_id = ObjectId.GenerateNewId(),
name = "Pluto",
hasRings = false,
orderFromSun = 9
},
new Planet()
{
_id = ObjectId.GenerateNewId(),
name = "Scadrial",
hasRings = false,
orderFromSun = 10
}
};
db.Planets.AddRange(planets);
db.SaveChanges();

엔터티 업데이트

API 문서
Fundamentals

var planet = db.Planets.FirstOrDefault(p => p.name == "Mercury");
planet!.name = "Mercury the first planet";
db.SaveChanges();

여러 엔티티 업데이트

API 문서
Fundamentals

var planets = db.Planets.Where(p => p.orderFromSun > 0);
foreach (var p in planets)
{
p.orderFromSun++;
}
db.SaveChanges();

엔터티 삭제

API 문서
Fundamentals

var planet = db.Planets.FirstOrDefault(p => p.name == "Pluto");
db.Planets.Remove(planet!);
db.SaveChanges();

여러 엔티티 삭제

API 문서
Fundamentals

var pluto = db.Planets.FirstOrDefault(p => p.name == "Pluto");
var scadrial = db.Planets.FirstOrDefault(p => p.name == "Scadrial");
var planets = new[] { pluto!, scadrial! };
db.Planets.RemoveRange(planets);
db.SaveChanges();

엔티티를 조회할 순서 지정

API 문서
Fundamentals

var planetList = db.Planets.OrderBy(p => p.orderFromSun);
foreach (var p in planetList)
{
Console.WriteLine(p.name);
}

엔티티 검색을 위한 여러 순서 지정

API 문서
Fundamentals

var planetList = db.Planets.OrderBy(o => o.hasRings).ThenBy(o => o.name);
foreach (var p in planetList)
{
Console.WriteLine("Has rings: " + p.hasRings + ", Name: " + p.name);
}

검색할 엔티티 수 지정

API 문서

var planetList = db.Planets.Take(3);
foreach (var p in planetList)
{
Console.WriteLine(p.name);
}

검색 시 건너뛸 엔티티 수 지정

API 문서

var planetList = db.Planets.OrderBy(p => p.orderFromSun).Skip(5);
foreach (var p in planetList)
{
Console.WriteLine(p.name);
}