목록BackEnd/Database (9)
EtoC
흠.. git hub desktop으로 연결했다가 10k가떠서 폴더를 삭제했는데 바탕화면의 폴더까지 삭제되었다. 휴지통 비우기 전에 확인 해보고 비울껄.. .env파일에 뭐가 있었는지 기억나지않아서 걱정이였는데 다행히 config의 index에 적혀있었다. import dotenv from "dotenv"; dotenv.config(); export default { MONGODB_URI: process.env.MONGODB_URI, JWT_SECRET: process.env.JWT_SECRET, PORT: process.env.PORT, }; 문제는 MongoDB의 비밀번호가 기억나지 않는것;;ㅎ MongoDB Atlas로 다시 접속하자 MongoDB Cloud MongoDB Cloud is a uni..
몽고디비클러스트를 활용하여 몽고디비에 연결해본다. MongoDB: 애플리케이션 데이터 플랫폼 업계 최고의 최신 데이터베이스를 토대로 구축된 애플리케이션 데이터 플랫폼을 사용해 아이디어를 더욱 빠르게 실현하세요. MongoDB는 데이터를 손쉽게 처리할 수 있도록 지원합니다. www.mongodb.com 클라우드에 아틀라스로 들어간다. try free를 클릭 위치는 서울이 있어서 서울로하고 생성하자. 이제 생성이 완료되었다. 생성 완료되면 Quick Strart라며 바로 네트워크 엑세스를 설정하게된다. quick start를 하지않았다면 화면 왼쪽 하단에 NetworkAccess에 설정하면된다. network access에서는 접속할 수 있는 IP를 설정할 수 있다. ADD IP ADDRESS 를 클릭하고 ..
mongoDB를 사용하다가 비슷한 기능을 하는 두 메소드를 발견했다. 어떤때에 create를 쓰고 어떤때에 save를 쓰는건지 궁금해져서 알아보았다. 1. 공통점 두 메서드 모두 데이터베이스에 새로운 데이터를 만드는 model 메서드이다. 2. 차이점 1. create() create() 메소드는 save()와 달리, 새로운 document를 만들어 데이베이스에 바로 저장한다. 모델 생성과 저장을 한 번에 처리할 수 있어, 코드를 간결하게 유지할 수 있다. create()를 호출할때 생성할 객체르 전달 하면 된다. //create() 사용 const Join = async (req, res) => { await User.create({ name, email, password }); } 2. save() ..
1. mongoose mongoose는 mongodb를 쓰는데 있어 필수적인 package로 nodejs와 mongoDB를 이어주는 다리역할을 한다. nodejs에서 javascript로 코드를 적을텐데 mongoose가 이 자바스크팁트형식의 코드르 mongoDB에 전달해 주기 때문이다. 2. 장점 1. schema 몽구스의 장점은 schema이다. MongDB같은 NoSQL에는 스키마에대한 메타데이터가 없어 도큐먼트에 무엇을 넣어도 에러가 발생하지 않는다. 하지만 실제로 사용해보면 에러가나는데, 이런 문제를 막기위해 몽구스는 스키마를 도입했다. Mongoose Schema 공식페이지 2. 다양한 모델 메소드 몽구스를 사용해보니 메소드가 확실히 편하다는 느낌을 받았다. find, findOne, find..
mongoDB를 쓰다가 비슷한 기능을 하는 두 메소드를 발견했다. 어떤때에 create를 쓰고 어떤때에 save를 쓰는건지 궁금해져서 알아보았다. 1. 공통점 두 메서드 모두 데이터베이스에 새로운 데이터를 만드는 model 메서드이다. 2. 차이점 1. create() create() 메소드는 save()와 달리, 새로운 document를 만들어 데이베이스에 바로 저장한다. 모델 생성과 저장을 한 번에 처리할 수 있어, 코드를 간결하게 유지할 수 있다. create()를 호출할때 생성할 객체르 전달 하면 된다. //create() 사용 const Join = async (req, res) => { await User.create({ name, email, password, }); };2. save() s..
1. Session 설치하기 express-session npm i express-session을 입력하여 node.js에서 사용할 수 있도록 설치한다. const session = require('express-session')을 입력하여 불러온다. 쿠키에 세션id만 저장되고, 세션데이터는 쿠키가아닌 서버에 저장된다. 2. MongDB 연결하기 connect-mongo 설치 명령어를 터미널에 입력한다. npm install connect-mongo yarn add connect-mongoconnect-mongo를 import해준다. const session = require("express-session"); const MongoStore = require("connect-mongo");..
1. MongoDB란? 1. 개념 다목적용 NoSQL로 JSON과 닮은 형태의 Document 기반으로 데이터를 저장하는 데이터베이스이다. Document란? 도큐먼트는 HTML과 같은 특정 형식의 태그 구조를 의미한다. mongoDB가 데이터를 저장하는 최소 단위이다. 필드와 값의 쌍으로 구성되며, 관계를 갖는 데이터를 중첩 도큐먼트와 배열을 사용하여 1개의 도큐먼트로 표현할 수 있다. { field : value } 2. 특징 1. 도큐먼트 데이터베이스 mongoDB는 JSON(JavaScript Object Notation) 형식으로 데이터를 관리하므로 NoSQL 데이터베이스 중 도큐먼트 데이터베이스로 분류된다. 데이터 입출력 시에는 JSON 형식의 도큐먼트를 사용하나 데이터베이스 저장 시에는 이진..
transaction이란? CS에서 트랜잭션은 더이상 쪼갤수없는 가장작은 엄무처리 단위를 말한다. DB에서 트랜잭션은 여러 SQL을 하나의 Operation으로 실행될 수록 있도록 하는 논리적 작업 단위로 데이터의 정합성을 보장한다. 즉, 데이터베이스의 상태를 변화시키기 위한 작업수행의 논리적 단위이다. 트랜잭션 사용시 범위를 최소화 해야한다. 비즈니스 로직의 시작부터 실행하는 것이 아니라 DBMS에 데이터를 저장하는 작업의 시작부터 걸어야한다. 연산이 길어지면 lock을 잡는 시간도 길어지고 최악의 경우엔 DB 커넥션 풀이 고갈될 수 있다. 트랜잭션의 성질(ACID) 1. 원자성(Atomicity) 트랜잭션은 All or nothing의 성질로, 연산이 중간에 중단되지 않는 것을 보장한다. 논리적인 작..