스터디노트/DB
-
mongoDB compass에서 간단한 쿼리 날려보기 (Aggregate, $match, $project, $expr, $lookup, ...)스터디노트/DB 2022. 4. 22. 14:42
MongoDB Aggregate pipeline을 가지며 각 단계별로 진행을 마친 후 결과값을 출력한다. $project > $match > $group > $sort > $skip > $limit > $unwind > $out $project : document의 pipeline을 reshape한다. $match : Aggregate에서 필터 역할 $unwind : array form을 삭제하고 flat한 형태로 만들어준다. $match example { $match : { email : 'taeho@xxx.com' } } $project example { $project : { emailLength : {$strLenCP : '$email'}, password : 0 } ..
-
new mongoose.Schema VS mongoose.Schema스터디노트/DB 2022. 4. 18. 16:15
두개의 차이점 https://mongoosejs.com/docs/api/schema.html#schema_Schema 이 문서를 보게 되면 Schema는 생성자이므로 new 키워드를 붙여 사용해야한다. new 키워드 없이 사용하게 되면 새로 반환된 객체를 return하게 된다. 둘 다 작동하지만 올바른 방법은 new 키워드를 붙이는 것. 참고자료 https://stackoverflow.com/questions/59870635/what-is-the-difference-between-mongoose-schema-and-new-mongoose-schema
-
mongoose.Schema에서 enum이란??스터디노트/DB 2022. 4. 18. 15:49
Schema 생성 example const userSchema = new mongoose.Schema({ userType : { type : String, enum : ['normal', 'admin'] }, ... })Schema 생성 시 enum이란?? 스키마에서 특정 필드에 대한 value를 제한하는 것. 제한한 value외에 다른 value를 입력하게 되면 error를 출력하게 된다. 참고자료 https://www.quora.com/What-is-enum-in-Mongoose
-
MongoDB Sharding이란??스터디노트/DB 2022. 4. 14. 09:51
Sharding이란?? 데이터베이스 저장기법 중 하나. 데이터나 웹 검색 엔진의 수평 분할. 개개인의 데이터베이스 서버 인스턴스에서 부하 분산을 위해 보유하고 있다. 전체 네트워크를 분할한 뒤 트랜잭션을 영역별로 저장하고 이를 병렬적으로 처리하여 블록체인에 확장성을 부여하는 온체인 솔루션. 데이터를 Shard라는 단위로 나눠서 저장하고 처리한다. (분산처리기법) 프로그래밍, 운영적인 복잡도는 높아지는 단점이 있다. MongoDB Sharding 전체 성능에 영향을 주지 않고 대용량의 데이터를 효율적으로 관리하는 방법. Sharding 구성을 위한 요소 : Shard, Mongos, Config Server Mongos : 클라이언트의 요청이 있을 경우 요청에 맞는 Shard로 라우팅 Config Serv..
-
mongodump, mongorestore스터디노트/DB 2022. 4. 6. 14:15
mongodump 원격의 서버 백업의 용도 options --uri // uri 정보 --db // 데이터베이스 이름 --collection // 컬렉션 이름 --port // 포트번호 --out // 저장할 파일 및 경로 위치 --host // 내보낼 외부 host정보 mongodump --out C:\경로 --host 원격IP --port 27017 mongorestore 백업된 db를 불러오는 용도 mongorestore C:\경로 --host 127.0.0.1 --port 27017
-
Mongoose스터디노트/DB 2022. 3. 28. 11:13
Mongoose MongoDB ODM(Object Document Mapper) 예시 연결 (database.js) import Mongoose from "mongoose"; export async function connectDB() { return Mongoose.connect(url, options); } export function useVirtualId(schema) { schema.virtual('id').get(function() { return this._id.toString(); // this._id는 object이므로 toString해준다. }); schema.set("toJSON", {virtuals : true}); // id정보 json에 포함 schema.set("..
-
MongoDB스터디노트/DB 2022. 3. 22. 11:47
MongoDB란? Document Type의 데이터베이스 하나의 데이터는 문서형태(Object 형태)로 저장 관련있는 데이터는 Collection이라는 그룹안으로 저장됨 하나의 데이터를 독립적으로 생성해야함 MongoDB 시작하기 (MongoDB Atlas) MongoDB Atlas : 클라우드상의 MongoDB SignUp -> Organization 생성 -> Project 생성 -> Database 설정 -> Security 설절 (Database Access, Network Access) -> Cluster Connect (Connect your application) MongoDB Driver 설치 (Node.js) 참고자료 : https://docs.mongodb.com/drivers/node..