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