Node.js MongoDB 삭제
문서 삭제
MongoDB에서 호출되는 레코드 또는 문서를 삭제하려면 이
deleteOne()
메서드를 사용합니다.
메서드 의 첫 번째 매개 변수는 deleteOne()
삭제할 문서를 정의하는 쿼리 개체입니다.
참고: 쿼리에서 두 개 이상의 문서를 찾은 경우 첫 번째 항목만 삭제됩니다.
예시
주소가 "Mountain 21"인 문서 삭제:
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
var myquery = { address: 'Mountain 21' };
dbo.collection("customers").deleteOne(myquery, function(err, obj) {
if (err) throw err;
console.log("1
document deleted");
db.close();
});
});
위의 코드를 "demo_delete.js"라는 파일에 저장하고 파일을 실행합니다.
"demo_delete.js" 실행
C:\Users\Your Name>node demo_delete.js
다음과 같은 결과를 얻을 수 있습니다.
1 document deleted
다수 삭제
두 개 이상의 문서를 삭제하려면 이
deleteMany()
방법을 사용하십시오.
메서드 의 첫 번째 매개 변수는 deleteMany()
삭제할 문서를 정의하는 쿼리 개체입니다.
예시
주소가 "O"로 시작하는 모든 문서 삭제:
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
var myquery = { address: /^O/ };
dbo.collection("customers").deleteMany(myquery, function(err, obj) {
if (err) throw err;
console.log(obj.result.n + "
document(s) deleted");
db.close();
});
});
위의 코드를 "demo_delete_many.js"라는 파일에 저장하고 파일을 실행합니다.
"demo_delete_many.js" 실행
C:\Users\Your Name>node demo_delete_many.js
다음과 같은 결과를 얻을 수 있습니다.
2 document(s) deleted
결과 개체
이 deleteMany()
메서드는 실행이 데이터베이스에 어떤 영향을 미쳤는지에 대한 정보가 포함된 개체를 반환합니다.
대부분의 정보는 이해하는 것이 중요하지 않지만 개체 내부의 한 개체를 "결과"라고 하며 실행이 정상적으로 되었는지와 영향을 받은 문서 수를 알려줍니다.
결과 개체는 다음과 같습니다.
{ n: 2, ok: 1 }
이 객체를 사용하여 삭제된 문서 수를 반환할 수 있습니다.
예시
삭제된 문서 수 반환:
console.log(obj.result.n);
다음 결과가 생성됩니다.
2