문서 삭제
collection.deleteOne()
을 사용해 컬렉션에서 단일 문서를 삭제할 수 있습니다. deleteOne()
메서드는 사용자가 제공한 쿼리 문서를 사용하여 collection에서 쿼리와 일치하는 문서의 하위 집합을 일치시킵니다. 쿼리 문서를 제공하지 않거나 빈 문서를 제공하는 경우, MongoDB는 컬렉션의 모든 문서를 일치시키고 첫 번째 일치 문서를 삭제합니다.
deleteOne
메서드의 두 번째 매개변수로 전달된 options
객체 를 사용하여 더 많은 쿼리 옵션을 지정할 수 있습니다. 이 메서드에 대한 자세한 내용은 deleteOne() API 문서를 참조하세요.
참고
삭제 후 애플리케이션에 삭제된 문서가 필요한 경우 collection.findOneAndDelete()를 사용하는 것이 좋습니다. 해당 메서드는 deleteOne()
과 유사한 인터페이스를 가지고 있지만 삭제된 문서도 반환합니다.
예시
다음 스니펫은 movies
컬렉션에서 단일 문서를 삭제합니다. 이는 쿼리 문서를 사용해 title
값이 '애니 홀'인 동영상을 일치시키도록 쿼리를 구성합니다.
참고
이 예시를 사용하여 MongoDB 인스턴스에 연결하고 샘플 데이터가 포함된 데이터베이스와 상호 작용할 수 있습니다. MongoDB 인스턴스에 연결하고 샘플 데이터 세트를 로드하는 방법에 대해 자세히 알아보려면 사용 예제 가이드를 참조하세요.
1 // Delete a document 2 3 import { MongoClient } from "mongodb"; 4 5 // Replace the uri string with your MongoDB deployment's connection string 6 const uri = "<connection string uri>"; 7 8 const client = new MongoClient(uri); 9 10 async function run() { 11 try { 12 const database = client.db("sample_mflix"); 13 const movies = database.collection("movies"); 14 15 /* Delete the first document in the "movies" collection that matches 16 the specified query document */ 17 const query = { title: "Annie Hall" }; 18 const result = await movies.deleteOne(query); 19 20 /* Print a message that indicates whether the operation deleted a 21 document */ 22 if (result.deletedCount === 1) { 23 console.log("Successfully deleted one document."); 24 } else { 25 console.log("No documents matched the query. Deleted 0 documents."); 26 } 27 } finally { 28 // Close the connection after the operation completes 29 await client.close(); 30 } 31 } 32 // Run the program and print any thrown exceptions 33 run().catch(console.dir);
1 // Delete a document 2 3 import { MongoClient } from "mongodb"; 4 5 // Replace the uri string with your MongoDB deployment's connection string 6 const uri = "<connection string uri>"; 7 8 const client = new MongoClient(uri); 9 10 async function run() { 11 try { 12 const database = client.db("sample_mflix"); 13 const movies = database.collection("movies"); 14 15 /* Delete the first document in the "movies" collection that matches 16 the specified query document */ 17 const query = { title: "Annie Hall" }; 18 const result = await movies.deleteOne(query); 19 20 /* Print a message that indicates whether the operation deleted a 21 document */ 22 if (result.deletedCount === 1) { 23 console.log("Successfully deleted one document."); 24 } else { 25 console.log("No documents matched the query. Deleted 0 documents."); 26 } 27 } finally { 28 // Close the connection after the operation completes 29 await client.close(); 30 } 31 } 32 // Run the program and print any thrown exceptions 33 run().catch(console.dir);
참고
동일한 코드 스니펫
위의 JavaScript 및 TypeScript 코드 스니펫은 동일합니다. 이 사용 사례와 관련된 드라이버의 TypeScript 특정 기능은 없습니다.
앞의 예시를 실행하면 다음과 같은 출력이 표시됩니다.
Successfully deleted one document.
예시를 두 번 이상 실행하는 경우 첫 번째 실행에서 일치하는 문서를 삭제했기 때문에 다음과 같은 출력이 표시됩니다.
No documents matched the query. Deleted 0 documents.