본문 바로가기
반응형

mongoose11

mongoose, typegoose, nestjs-typegoose, kindagoose 사용이유 mongoose => typegoose, nestjs-typegoose => kindagoose 사용이유 Mongoose 1. MongoDB와 Express.js 웹 애플리케이션 프레임워크 간 연결을 생성하는 자바스크립트 객체지향 프로그래밍 라이브러리이다. 2. Node.js와 MongoDB를 연결해주는 ODM이다. * ODM(Object Documnet Mapping): 객체와 문서를 1대1로 매칭하는 역할을 한다. 3. Node.js기반 프레임 워크들에서도 사용 가능하다. (NestJS와 같은 Express기반 프레임워크 또한 가능) Typegoose TypeScript와 함께 Mongoose를 사용할 때 Mongoose 모델과 TypeScript 인터페이스를 모두 정의해야 한다는 문제 - 모델이 변.. 2023. 3. 3.
mongoose, typegoose, nestjs-typegoose, kindagoose 설치 명령어 mongoose, typegoose, nestjs-typegoose, kindagoose 설치 명령어 mongoose https://mongoosejs.com/ Mongoose ODM v7.0.0 Let's face it, writing MongoDB validation, casting and business logic boilerplate is a drag. That's why we wrote Mongoose. const mongoose = require('mongoose'); mongoose.connect('mongodb://127.0.0.1:27017/test'); const Cat = mongoose.model('Cat', { name: mongoosejs.com npm으로 설치 $ npm ins.. 2023. 3. 3.
[Mongoose] strictQuery란? (Strict, Implicit $in) strictQuery, Strict와 차이점, strictQuery 옵션 종류,  Implicit $in strictQuery란?Mongoose는 쿼리 필터에 대한 strict 모드를 피하기 위해 별도의 strictQuery 옵션을 지원한다.빈 쿼리 필터로 인해 Mongoose가 모델의 모든 문서를 반환하여 문제가 발생할 수 있기 때문이다.const mySchema = new Schema({ field: Number }, { strict: true });const MyModel = mongoose.model('Test', mySchema);MyModel.find({ notInSchema: 1 });문제점: Mongoose는 'strict: true' 때문에 'notInSchema: 1'을 필터링합니다. .. 2023. 3. 2.
[Mongoose] Query Casting Query Casting: Model.find(), Query.prototype.find(), Model.findOne(), Query.prototype.findOne() Model.find(), Query.prototype.find(), Model.findOne(), Query.prototype.findOne() 등의 첫 번째 매개변수를 filter(필터)라고 한고 이 매개변수는 쿼리 또는 조건이라고도 한다. 예시코드) const query = Character.find({ name: '홍길동' }); query.getFilter(); // `{ name: '홍길동' }` // 후속 연결 호출은 새 속성을 필터에 병합한다. query.find({ age: { $gt: 50 } }); query.getF.. 2023. 3. 2.
[Mongoose] Model.events, Model관련 Error 처리 [Mongoose] Model.events, Model관련 NestJS Error 처리 및 try.. catch문클린코드 Model.events 1. 발생한 오류를 보고하는 이벤트 이미터. 전역 오류 처리에 유용하다. 2. Model 관련 Method를 처리할 때 따로 try.. catch문을 사용하지 않아도 된다. 예시코드) MyModel.events.on('error', err => console.log(err.message)); await MyModel.findOne({ _id: 'Not a valid ObjectId' }).catch(noop); 출력값 Cast to ObjectId failed for value "Not a valid ObjectId" (type string) at path "_.. 2023. 3. 1.
[Mongoose] Delete관련, 차이점 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 (지원중단 경고)목록_(remo.. 2023. 3. 1.
[Mongoose] Update관련, 차이점 updateOne() vs findOneAndUpdate() vs replaceOne() vs updateOne() Update관련 Mongoose: Model.update(): 지원중지, Model.updateOne(), Model.updateMany(), Model.replaceOne(), Model.findOneAndReplace(), Model.findOneAndUpdate(), Model.findByIdAndUpdate() Model.update(): 지원중지 2023.02.24 - [데이터베이스/MongoDB] - [Mongoose] Deprecation Warnings(remove(), update(), count()) [Mongoose] Deprecation Warnings(remove().. 2023. 2. 28.
[Mongoose] Create관련, 차이점 Model.prototype.save(), Model.create(), Model.insertMany(), Model.bulkWrite(), Model.bulkSave Create관련Mongoose : Model.prototype.save(), Model.create(), Model.insertMany(), Model.bulkWrite(), Model.bulkSave 1. Model.prototype.save()document.isNew가 true인 경우 데이터베이스에 새 문서를 삽입하여 이 문서를 저장한다. isNew가 false인 경우 수정된 경로만 포함하는 updateOne 작업을 보낸다. 2. Model.create()하나 이상의 문서를 데이터베이스에 저장하기 위한 바로 가기이다.MyModel.c.. 2023. 2. 27.
[Mongoose] Read관련, 차이점 [Mongoose] Model.find() vs Model.findById() vs Model.findOne() Read관련 Mongoose: Model.find(), Model.findById(), Model.findOne() 1. Model.find() 컬렉션 쿼리를 수행하고 해당되는 문서들을 반환한다. 2. Model.findById() _id에 해당하는 문서를 반환한다. (_id는 기본적으로 unique하기 때문에 하나의 문서만 반환된다.) findById(id)는 거의 findOne({ _id: id })과 동일하다. Id는 명령을 보내기 전에 스키마를 기반으로 캐스트된다. 3. Model.findOne() 쿼리를 수행하고 하나의 문서를 반환한다. Model.find() vs Model.find.. 2023. 2. 26.
[Mongoose] Model (CRUD 관련) 모음 [Mongoose] Model_Create(생성), Read(조회), Update(변경), Delete(삭제) 관련 1. 일반적인 CRUD 작업 Create: Model.create(), Model.insertMany(), Model.prototype.save() Read: Model.find() Update: Model.updateOne(), Model.updateMany(), Model.replaceOne() Delete: Model.deleteMany(), Model.deleteOne() 2. _Id로 find() 이후 작업 Read: Model.findById() Update: Model.findByIdAndUpdate() Delete: Model.findByIdAndDelete(), Model... 2023. 2. 25.
반응형