본문 바로가기
데이터베이스/MongoDB

[Mongoose] Delete관련, 차이점

by minhyeok.lee 2023. 3. 1.
반응형

Delete관련

Mongoose: Model.remove(): 지원중지, Model.deleteOne(), Model.deleteMany(), Model.findByIdAndDelete(), Model.findOneAndDelete(), Model.findByIdAndRemove(), Model.findOneAndRemove()

 

Model.remove(): 지원중지

2023.02.24 - [데이터베이스/MongoDB] - [Mongoose] Deprecation Warnings(remove(), update(), count())

 

[Mongoose] Deprecation Warnings(remove(), update(), count())

Deprecation Warnings (지원중단 경고)목록_(remove(), update(), count()) https://www.npmjs.com/package/mongodb mongodb The official MongoDB driver for Node.js. Latest version: 5.1.0, last published: 8 hours ago. Start using mongodb in your project by

kfdd6630.tistory.com

 

Model.deleteOne()

1. 컬렉션에서 조건과 일치하는 첫 번째 문서를 삭제한다.

2. 얼마나 많은 문서가 삭제되었는지 나타내는 deletedCount 속성이 있는 개체를 반환한다. (항상 1이 반환된다)

3. remove()처럼 동작하지만 단일 선택사항에 관계없이 최대 하나의 문서를 삭제한다.

 

Model.deleteMany()

1. 컬렉션에서 조건과 일치하는 모든 문서를 삭제한다.

2. 삭제된 문서 수를 포함하는 deletedCount 속성이 있는 개체를 반환한다.

3. remove()처럼 작동하지만 단일 옵션에 관계없이 조건과 일치하는 모든 문서를 삭제한다

 

Model.findOneAndDelete()

1. MongoDB findOneAndDelete() 명령을 실행한다.

2. 일치하는 문서를 찾아 제거하고 찾은 문서(있는 경우)를 콜백에 전달한다.

3. 콜백이 전달되면 쿼리를 실행한다.

 

Model.findByIdAndDelete()

1. 문서의 _id 필드로 MongoDB findOneAndDelete() 명령을 실행한다.

2. findByIdAndDelete(id)는 findOneAndDelete({ _id: id })와 같다.

 

Model.findOneAndRemove()

1. mongodb findAndModify 제거 명령을 실행한다.

2. 일치하는 문서를 찾아 제거하고 찾은 문서(있는 경우)를 콜백에 전달한다.

3. 콜백이 전달되면 쿼리를 실행합니다. 

 

Model.findByIdAndRemove()

1. 문서의 _id 필드로 mongodb findAndModify 제거 명령을 실행한다.

2. findByIdAndRemove(id, ...)는 findOneAndRemove({ _id: id }, ...)와 같다.

3. 일치하는 문서를 찾아 제거하고 찾은 문서(있는 경우)를 콜백에 전달한다.

4. 콜백이 전달되면 쿼리를 실행한다.

 

 

findOneAndDelete() vs findOneAndRemove()

1. findOneAndRemove() 명령은 MongoDB findAndModify() 명령이 된다는 점에서 findOneAndDelete()와 약간 다르다.

2. findOneAndDelete()는 MongoDB findOneAndDelete() 명령을 실행한다.

3. 대부분의 몽구스 사용 사례에서 이러한 구분은 의미가 없다. (현학적이다)

4. MongoDB에서 findAndModify()의 사용을 지양한다.

2023.02.28 - [데이터베이스/MongoDB] - [MongoDB] Update관련, 차이점

 

[MongoDB] Update관련, 차이점

update() vs replace() vs modify() Update관련 MongoDB: db.collection.update(): 지원중지, db.collection.updateOne(), db.collection.updateMany(), db.collection.findOneAndUpdate(), db.collection.findOneAndReplace(), db.collection.replaceOne(), db.collect

kfdd6630.tistory.com

5. 특별한 이유가 없다면 findOneAndDelete()를 사용하는 것이 좋다.

반응형

댓글