🔓데이터베이스/몽고db 4

mongdb 참조 설계의 두 가지 방식

1.collection1에서 똑같은 collection인 collection2, collection3 등을 참조 2. collection1에 하부 목록으로 expense, incomes 생성 1. users 컬렉션과 별도의 컬렉션 사용 장점 확장성: 대규모 데이터를 다룰 때 더 효율적일 수 있습니다. 각 데이터 유형을 별도의 컬렉션에 저장함으로써, 문서 크기에 대한 걱정 없이 데이터를 추가할 수 있습니다. 유연성: expenses와 incomes 데이터를 독립적으로 관리할 수 있어, 복잡한 쿼리나 데이터 분석이 용이합니다. 성능 최적화: 데이터를 분리함으로써, 특정 작업에 필요한 데이터만 빠르게 조회할 수 있습니다. 단점 조인의 필요성: MongoDB에서는 SQL 데이터베이스의 조인과 같은 기능이 제한적..

몽고db는 모델의 이름을 소문자로 전환 + 복수형으로 collection명 정의

Mongoose를 사용할 때 ExpenseSchema를 정의하고 이를 통해 모델을 생성하면, Mongoose는 기본적으로 모델 이름을 사용하여 컬렉션 이름을 결정합니다. 모델 이름의 경우, Mongoose는 모델 이름을 소문자로 변환하고 복수형으로 만들어서 MongoDB 컬렉션 이름으로 사용합니다. 예를 들어, Expense 모델의 경우, 컬렉션 이름은 기본적으로 expenses가 됩니다. 내가 ExpenseSchmea로 Expense라 명명 해놓았고, 아래에는 income.save()라는 오류를 범했다. 하지만 몽고디비는 위의 내용에 따라 expenses라 명명해놓고 올바르게 이어지고 있었다. 아래와 같은 예시로 model()의 문자열이 해당 collecion의 이름이 된다. (물론 소문자 변경 + 복..

몽고db 클라우드에 정보 보내보기

1. Browse Collections 클릭 2. 몽고db 아틀라스 클라우드를 통해 관리하는 모습. Collections에 들어가서 새롭게 database를 생성하고 form을통해 데이터를 서버로 전송하면 된다. (서버와 프론트 모두 npm start로 활성화된 상태여야 가능) MONGO_URL = mongodb+srv://{가입 아이디}:{admin접근비밀번호}@cluster0.ive33z0.mongodb.net/{database 이름} 이렇게 db를 연결하고, 생성한 db와 연결만 해주면 원하는 db에 내가 프론트에서 작업한 내용을 저장하게 된다. 아래처럼 form 내용이 잘 보내져서 프론트가 db의 내용을 다시 잘 받아온 모습을 확인할 수 있다.

module을 exports하여 postman에서 send 해보기(회원가입 기능)

const User = mongoose.model('User',userSchema); //model(이름부여, 대상) //model은 스키마를 감싸줌 module.exports = { User }; // 다른 곳에서도 사용가능 =============> 자꾸 모듈 오류가 나는 이유가 있었다...ㅎㅎ; (exports에 s도 빼먹고... module이라 안쓰고 mongoose라 써둠. const { user } = require("./models/User"); / models 디렉터리 안의 User.js을 가져와서 사용.(디렉터리명도 오타내서 자꾸 에러남) (user 네임도 오류다) module 사용하기 module은 하나의 자바스크립트 파일과 같다. 하나의 module을 파일에 작성하고 외부 파일에서 사..

1