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

문서 삭제

이 가이드에서는 삭제 작업을 사용하여 MongoDB 컬렉션에서 문서를 제거하는 방법에 대해 설명합니다.

이 가이드의 예에서는 sample_restaurants 데이터베이스의 restaurants 컬렉션을 사용합니다. 이 컬렉션의 문서는 다음 Restaurant, Address, GradeEntry 클래스를 모델로 사용합니다.

public class Restaurant{ public ObjectId Id { get; set; } public string Name { get; set; } [BsonElement("restaurant_id")] public string RestaurantId { get; set; } public string Cuisine { get; set; } public Address Address { get; set; } public string Borough { get; set; } public List<GradeEntry> Grades { get; set; }}
public class Address{ public string Building { get; set; } [BsonElement("coord")] public double[] Coordinates { get; set; } public string Street { get; set; } [BsonElement("zipcode")] public string ZipCode { get; set; }}
public class GradeEntry{ public DateTime Date { get; set; } public string Grade { get; set; } public float? Score { get; set; }}

참고

restaurants 컬렉션 의 문서는 대소문자 명명 규칙을 사용합니다. 이 가이드 의 예제에서는 ConventionPack 를 사용하여 컬렉션 의 필드를 파스칼식 대/소문자로 역직렬화하고 Restaurant 클래스의 속성에 매핑합니다.

사용자 지정 직렬화에 대해 자세히 알아보려면 사용자 지정 직렬화를참조하세요.

이 컬렉션은 Atlas에서 제공하는 샘플 데이터 세트에서 가져온 것입니다. 퀵 스타트를 참조하여 무료 버전의 MongoDB 클러스터를 생성하고 이 샘플 데이터를 로드하는 방법을 알아보세요.

삭제 작업을 사용하여 쿼리 필터와 일치하는 문서를 제거합니다. 쿼리 필터는 쿼리 필터 문서의 기준에 따라 삭제할 레코드를 결정합니다. 다음 방법을 사용하여 MongoDB에서 삭제 작업을 수행할 수 있습니다.

  • DeleteOne(), 쿼리 필터와 일치하는 첫 번째 문서를 삭제합니다.

  • DeleteMany(), 쿼리 필터와 일치하는 모든 문서 를 삭제합니다.

다음 코드는 비동기 DeleteOneAsync() 메서드 또는 동기 DeleteOne() 메서드를 사용하여 단일 문서를 삭제하는 방법을 보여 줍니다.

var result = await _restaurantsCollection.DeleteOneAsync(filter);

다음 코드는 비동기 DeleteManyAsync() 메서드 또는 동기 DeleteMany() 메서드를 사용하여 일치하는 모든 문서를 삭제 하는 방법을 보여줍니다.

var result = await _restaurantsCollection.DeleteManyAsync(filter);

팁

이러한 메서드를 사용하여 실행할 수 있는 예시는 추가 정보에서 찾아보세요.

DeleteOne() 및 DeleteMany() 메서드를 사용하려면 일치시킬 문서를 지정하는 쿼리 필터하다 를 전달해야 합니다. 쿼리 필터하다 를 구성하는 방법에 대한 자세한 내용 은 쿼리 문서 튜토리얼에서 확인할 수 있습니다.

두 메서드 모두 선택적으로 DeleteOptions 유형을 추가 매개 변수로 사용하며, 이는 삭제 작업을 구성하는 데 사용할 수 있는 옵션입니다. DeleteOptions 속성을 지정하지 않으면 운전자 는 삭제 작업을 사용자 지정하지 않습니다.

DeleteOptions 유형을 사용하면 다음과 같은 속성을 가진 옵션을 구성할 수 있습니다.

속성
설명

Collation

결과를 정렬할 때 사용할 언어 데이터 정렬 유형을 가져오거나 설정합니다. 자세한 내용은 삭제 성명서를 참조하세요.

Comment

작업에 대한 주석을 가져오거나 설정합니다. 자세한 내용은 삭제 명령 필드를 참조하세요.

Hint

문서를 스캔할 때 사용할 인덱스를 가져오거나 설정합니다. 자세한 내용은 삭제 성명서를 참조하세요.

Let

허용 문서를 가져오거나 설정합니다. 자세한 내용은 삭제 명령 필드를 참조하세요.

다음 코드는 Atlas Search 메서드를 사용하여 DeleteMany() "borough_1" 인덱스를 검색하고 address.street 필드 값에 "Pearl Street" 문구가 포함된 모든 문서를 삭제합니다.

var filter = Builders<Restaurant>.Filter .Regex("address.street", "Pearl Street"); DeleteOptions opts = new DeleteOptions { Hint = "borough_1" }; Console.WriteLine("Deleting documents...");var result = _restaurantsCollection.DeleteMany(filter, opts); Console.WriteLine($"Deleted documents: {result.DeletedCount}");Console.WriteLine($"Result acknowledged? {result.IsAcknowledged}");

팁

앞의 예시 에서 DeleteMany() 대신 DeleteOne() 메서드를 사용한 경우 운전자 는 26 일치하는 문서 중 첫 번째 문서를 삭제 합니다.

DeleteOne() 및 DeleteMany() 메서드는 DeleteResult 유형을 반환합니다. 이 유형에는 삭제된 문서 수를 나타내는 DeletedCount 속성 과 결과가 승인되었는지 여부를 나타내는 IsAcknowledged 속성 이 포함됩니다. 쿼리 필터하다 가 어떤 문서와도 일치하지 않으면 문서가 삭제되지 않고 DeletedCount 는 0 이 됩니다.

삭제 작업의 실행 가능한 예는 다음 사용 예시를 참조하세요.

이 가이드에서 설명하는 메서드나 유형에 대해 자세히 알아보려면 다음 API 설명서를 참조하세요.