Docs Menu
Docs Home
/ / /
Java 동기화 드라이버
/ /

여러 문서 삭제

MongoCollection 객체에서 deleteMany() 메서드를 호출하여 컬렉션에서 여러 문서를 한 번의 작업으로 삭제할 수 있습니다.

삭제할 문서를 지정하려면 삭제하려는 문서와 일치하는 쿼리 필터를 전달합니다. 빈 문서를 제공하면 MongoDB는 collection의 모든 문서를 일치시켜 삭제합니다. deleteMany() 를 사용하여 collection의 모든 문서를 삭제할 수 있지만 성능 향상을 위해 drop() 메서드를 대신 사용하는 것이 좋습니다.

삭제에 성공하면 이 메서드는 DeleteResult 인스턴스를 반환합니다. DeleteResult 인스턴스에서 getDeletedCount() 메서드를 호출하여 삭제된 문서 수와 같은 정보를 검색할 수 있습니다.

삭제 작업이 실패하면 드라이버에서 예외가 발생합니다. 특정 조건에서 발생하는 예외 유형에 대한 자세한 내용은 이 페이지 하단에 링크된 deleteMany() 에 대한 API 문서를 참조하세요.

다음 스니펫은 sample_mflix 데이터베이스의 movies collection에서 여러 문서를 삭제합니다.

deleteMany() 메서드에 전달된 쿼리 필터는 imdb 하위 문서에 1.9 미만의 rating이 포함된 모든 영화 문서와 일치합니다.

참고

이 예시 에서는 연결 URI를 사용하여 MongoDB 인스턴스 에 연결합니다. MongoDB 인스턴스 에 연결하는 방법에 학습 보려면 연결 가이드 를 참조하세요.

// Deletes multiple documents from a collection by using the Java driver
package usage.examples;
import static com.mongodb.client.model.Filters.lt;
import org.bson.Document;
import org.bson.conversions.Bson;
import com.mongodb.MongoException;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.result.DeleteResult;
public class DeleteMany {
public static void main(String[] args) {
// Replace the uri string with your MongoDB deployment's connection string
String uri = "<connection string uri>";
try (MongoClient mongoClient = MongoClients.create(uri)) {
MongoDatabase database = mongoClient.getDatabase("sample_mflix");
MongoCollection<Document> collection = database.getCollection("movies");
Bson query = lt("imdb.rating", 1.9);
try {
// Deletes all documents that have an "imdb.rating" value less than 1.9
DeleteResult result = collection.deleteMany(query);
// Prints the number of deleted documents
System.out.println("Deleted document count: " + result.getDeletedCount());
// Prints a message if any exceptions occur during the operation
} catch (MongoException me) {
System.err.println("Unable to delete due to an error: " + me);
}
}
}
}

예제를 실행하면 deleteMany() 호출에서 삭제된 문서 수를 보고하는 출력이 표시되어야 합니다.

Deleted document count: 4

Legacy API

레거시 API를 사용하는 경우 FAQ 페이지를 참조하여 코드 예시의 어떤 부분을 변경해야는지 확인하세요.

이 페이지에 언급된 클래스 및 메서드에 대한 추가 정보는 다음 API 설명서를 참조하세요.

  • DeleteMany()

  • DeleteResult

  • Drop()

돌아가기

문서 삭제