1. create model 먼저 모델을 생성해준다. // server > models > Comment.js const mongoose = require("mongoose"); const Schema = mongoose.Schema; const commentSchema = mongoose.Schema( { writer: { type: Schema.Types.ObjectId, ref: "User", }, postId: { type: Schema.Types.ObjectId, ref: "Video", }, responseTo: { type: Schema.Types.ObjectId, ref: "User", }, content: { type: String, }, }, { timestamps: true } ); ..
최근에 이력서와 면접 등의 일로 조금 늦어졌지만, 다시 하던 스터디를 시작해봅니다. Subscriber Model 만들기 먼저 Model을 만들기 위한 기본 구성은 다음과 같다. // server > models > Subscriber.js const mongoose = require("mongoose"); const Schema = mongoose.Schema; const subscriberSchema = mongoose.Schema({}, { timestamps: true }); const Subscriber = mongoose.model("Subscriber", subscriberSchema); module.exports = { Subscriber }; mongoose를 불러와 schema를 생성하..
오늘은 서버에 비디오를 업로드하는 공부를 하려 한다. 1. 비디오 Collection 만들기 먼저 서버에 Video.js 모델 기본 세팅을 해준다. 그런 후 필요한 collection을 설정한다. // server > models > Video.js const mongoose = require('mongoose'); const Schema = mongoose.Schema; const videoShema = mongoose.Schema({ writer: { type: Schema.Types.ObjectId, ref: 'User' }, title : { type: String, maxlength: 50 }, description : { type: String }, privacy: { type: Number ..
오늘은 뜬금이 없지만 서버를 하다보니 데이터베이스에 대한 궁금증이 생겨 딴 길에 들었지만, 이 때 아니면 제대로 찾지 않을 것 같아서 공부해보게 되었다. 데이터베이스 여러 사용자나 응용 프로그램이 공유하고 동시에 접근 가능한 데이터의 집합이라고 정의 할 수 있다. DBMS(DataBase Management System) 데이터베이스를 관리/운영하는 소프트웨어이다. 사용자나 응용 프로그램은 DBMS가 관리하는 데이터에 동시에 접속하여 데이터를 공유하기도 한다. 데이터베이스의 특징 데이터의 무결성 데이터베이스 안의 데이터는 어떤 경로를 통해 들어왔던 오류가 있어서는 안된다. 데이터의 독립성 데이터베이스와 응용 프로그램은 서로 의존적인 관계가 아니라 독립적인 관계이다. 보완 데이터베이스 안의 데이터는 데이터..
오늘은 서버와 클라이언트를 매번 두 번 다 실행을 하기 위해서는 매번 실행을 각각 해야 하는데 그 방법을 한 번에 할 수 있는 방법을 알아보려고 한다. 1. concurrently 설치하기 yarn add concurrently 2. package.json명령어 추가하기 { // 생략 "scripts": { "start": "node index.js", "backend": "nodemon index.js", "test": "echo \"Error: no test specified\" && exit 1", "dev": "concurrently \"npm run start\" \"cd ../client && npm run start\"" }, // 생략 } 여기서 주목해야 하는 부분은 dev다. "dev":..
오늘은 로그아웃 기능을 만들어 보려고 한다. 1. 로그아웃 Router 만들기 // index.js app.get('/api/users/logout', auth, (req, res) => { }) 먼저 로그아웃 router를 만들어주고 auth middleware도 추가해준다. 2. 로그아웃 하려는 유저를 DB에서 찾기 app.get('/api/users/logout', auth, (req, res) => { User.findOneAndUpdate({ _id: req.user._id }, }) }) 여기서 findOneAndUpdate를 사용하여 로그아웃하려는 유저 ID를 찾는다. 3. 찾은 유저의 토큰을 삭제 app.get('/api/users/logout', auth, (req, res) => { U..
오늘은 Auth 기능을 공부하였는데 아직도 이해가 가지 않는 부분도 있지만 따라 해보려 한다. 먼저, 추후에 쓰일 예정이지만 Express라는 라우터를 사용하기 위해 현재 쓰이는 API들의 경로를 디테일하게 나누었다. 이렇게 해야 현재 라우터가 어디에 관련된 라우터인지 알 수 있기 때문이다. users, products, comment 등 다양하게 존재하기 때문이다. index.js 상단에는 auth를 import를 해야 사용할 수 있다. 또한 middleware값에서 Authenticaation이 True일 경우 원하는 유저정보를 제공하여 가져올 수 있다. middleware/auth.js 아직은 이 순서가 이해가 가면서도 이해가 잘 가지 않지만, 원래 어려웠던 것이니 일단 이렇게 하는구나 하고 넘어가..
가장 기본이지만 필자에게는 제일 어려웠던 로그인 기능을 오늘 추가해보려고 한다. 전체적인 개념은 이해했지만 아직도 무언가 부족한 느낌이 들었지만, 오늘도 어느 정도 이해를 바탕으로 글을 쓰려고 한다. 1. 데이터 베이스에서 요청한 E-mail을 찾기 일단 회원가입이 되어있는지의 E-mail을 찾는 코드가 필요하다. Express 라우트 메소드를 사용한다. // POST method route app.post('/', function (req, res) { res.send('POST request to the homepage'); }); mongodb에서 제공하는 method를 이용한다. //index.js ... app.post('/login', (req, res) => { User.findOne({ e..
- Total
- Today
- Yesterday
- 노드
- redux
- 재공부
- mongodb
- 프로그래머스
- 리액트 유튜브
- 자바
- 리액트 썸네일
- Visual Studio Code
- github
- array
- Coding Test
- 파이썬
- Switch
- node.js
- Git
- node
- 뷰
- java
- CSS
- programmers
- 함수
- react
- 리액트
- node-sass
- javascript
- 코딩테스트
- 자바스크립트
- 리덕스
- 배열
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |