[TIL] 24.08.30 FRI

GDORI·2024년 8월 30일
0

TIL

목록 보기
26/79
post-thumbnail

불금! 불금! 불금! 불금! 불금! 불금!
오늘은 Node.js 강의 도입부와 알고리즘을 학습하였다.

오늘 푼 알고리즘 코드카타
12901. 2016년
132267. 콜라 문제
134240. 푸드 파이트 대회
138477. 명예의 전당 (1)
142086. 가장 가까운 같은 글자
159994. 카드 뭉치
68644. 두 개 뽑아서 더하기

MongoDB 관련해서도 공부한 내용을 기재하겠다.

들어가기에 앞서..

데이터베이스란?

데이터의 집합이라 할 수 있으며, 실제 데이터가 저장되는 저장소 역할을 수행합니다. 이러한 데이터베이스를 운용하고 관리하는 프로그램을 DBMS(Database Management System) 이라고 합니다.

데이터베이스의 종류

데이터 베이스는 관계형 데이터베이스(RDB)와 비관계형 데이터베이스(NoSQL)로 나뉘며, 모순이 없고 정확하며 일관된 데이터가 필요한 경우에는 관계형 데이터베이스, SNS같은 서비스와 같이 형식이 일정하지 않고 빠르게 저장 및 검색해야 하는 경우에는 비관계형 데이터베이스를 사용합니다.

비관계형 데이터베이스의 경우 유연하게 저장되는 만큼 관리가 부실하면 데이터 신뢰도가 낮아지게 됩니다.

MongoDB란?

앞서 말한 데이터베이스 종류 중 비관계형 데이터 베이스 중 하나로, 모든 데이터가 JSON 형식으로 저장됩니다.
복잡한 구성의 데이터를 저장할 수 있고 서버 확장을 손쉽게 조절할 수 있습니다.

MongoDB Atlas

개인 서버를 집에 두고 사용하는 사람보다 클라우드 환경에서 구동하는 사람이 많을 것 입니다. Atlas는 MongoDB의 클라우드 버전입니다.

Atlas 사용하기

MongoDB 사이트 바로가기

가입하고 로그인하면 다음과 같은 홈페이지가 나옵니다!
설문조사 홈페이지니까 대충 클릭하고 넘어가줍니다.

우린 연습모드이니까 무료로 갑시다

데이터베이스 접근할 아이디와 패스워드도 지정해주고 Create.

Overview 탭에서 Connect를 누르면 연결 방법에 대하여 모달창이 뜬다.

우리는 Node.js로 개발 예정이니 Drivers 클릭

빨간 네모박스 안의 내용을 활용하면 된다.

mongodb+srv://<username>:<password>@서버주소/?retryWrites=true&w=majority

주의

몽고DB 비밀번호 설정 시 @ 들어가있으면 코드 구동 시 오류 발생!

Studio 3T

mongoDB를 위해 만들어진 DB Client입니다.
저장된 데이터를 관리하기 쉽게 보여주는 프로그램으로, JS 코드로만 데이터를 확인하고 수정하는 것보다 더 효율적입니다.

Studio 3T 바로가기

데이터 삽입

db.db이름.insertOne({ key: "value", key2: "값" })

데이터 조회

db.db이름.find({})

데이터 삭제

db.db이름.deleteOne({ _id: ObjectId("...")})

Mongoose

Mongoose는 MongoDB에 데이터를 쉽게 읽고 쓸 수 있게 도와주는 JS 라이브러리 입니다.

설치

npm i mongoose
yarn add mongoose

둘 중 편한걸로 쓰시면 됩니다.

연결 스켈레톤 코드

  • index.js
// index.js
import mongoose from "mongoose";

const connect = () => {
  mongoose
    .connect(
      "mongodb+srv://db관리자ID:db관리자PW@DB주소",
      {
        dbName: "db이름",
      }
    )
    .catch((err) => console.log(err))
    .then(() => console.log("몽고디비 연결 성공"));
};

mongoose.connection.on("error", (err) => {
  console.error("몽고디비 연결 에러", err);
});

export default connect;
  • app.js
// app.js
import express from "express";
import connect from "./index.js";

const app = express();
const PORT = 3000;

connect();

app.get("/", (req, res) => {
  res.send("Hello World!");
});

app.listen(PORT, () => {
  console.log(PORT, "포트로 서버가 열렸어요!");
});
profile
하루 최소 1시간이라도 공부하자..

0개의 댓글