본문 바로가기
내일배움 강의/강의- Node.js 입문, 숙련

입문 2주차 2 Studio 3T

by GREEN나무 2024. 11. 18.
728x90


2.2 Studio 3T

1. DB Client인 Studio 3T에 대해 알아봅니다.
2. Studio 3T를 설치합니다.

 


01. MongoDB Client: Studio 3T

1) Studio 3T란?

Studio 3T는 MongoDB의 데이터를 더욱 편리하게 관리할 수 있는 GUI 툴입니다.
Studio 3T는 API의 사용을 도와주는 API Client처럼 MongoDB를 위해서 만들어진 MongoDB Client입니다.
Studio 3T의 GUI를 통해 MongoDB에 저장된 데이터를 관리하기 쉽게 보여주는 프로그램입니다.
MongoDB에 저장된 데이터를 직접 확인하고 수정할 수 있기 때문에, JavaScript 코드로만 데이터를 확인하고 수정하는 것보다 더욱 효율적으로 작업과 테스트를 할 수 있는 툴입니다.

 

2) DB Client와 API Client의 다른점은?

DB Client와 API Client 모두 서버에 연결해 데이터를 보내는것 까지는 같은 개념이지만, 사용되는 개념과 기능은 크게 다릅니다.
DB Client: 
직접 데이터베이스에 접근해 데이터를 조회, 추가, 수정, 삭제하는 기능을 제공합니다.
SQL, NoSQL과 같은 다양한 유형의 데이터베이스를 지원합니다.
오늘 배우게 될 Studio 3T는 이러한 DB Client의 한 종류로, MongoDB를 관리할 수 있는 툴입니다.
API Client:
웹 서비스의 API에 연결하여 서버와 데이터를 송수신합니다.
저희가 배우는 REST API와 Socket 같은 다양한 프로토콜을 지원합니다.

 


3) Studio 3T 설치하기

Studio 3T 공식 사이트
https://robomongo.org/download
‘Download Studio 3T Free Today’를 눌러주세요

자신의 OS에 맞는것을 다운받으세요

설치하세요

수정할것없이 agree, next만 클릭하세요

로그인 하세요

 

4) Studio 3T로 내 컴퓨터에 설치한 MongoDB에 연결하기

다운받으신 Studio 3T를 실행시켜주면 아래와 같은 화면이 나오게 됩니다.


좌측 상단의 Connect 버튼을 클릭하고, 뜨는 창에서  New Connection 버튼을 눌러줍니다.
그 후에 나오는 창에서 MongoDB Atlas에서 복사한 주소를 붙여넣고 Next 버튼을 눌러 다음 단계로 넘어갑니다.

mongodb+srv://Introduction_nodejs:Introduction_nodejs@introduction-mongo.cewv5.mongodb.net/?retryWrites=true&w=majority&appName=Introduction-mongo


“Connection name”을 sparta_db로 입력한 후 Save 버튼을 눌러 저장해줍니다.


저장이 완료되면 “Connection Manager” 창으로 돌아오게 되는데 방금 만든 sparta_db를 클릭해준뒤 “Connect” 버튼을 눌러서 연결해줍니다.

화면과 같이 왼쪽에 새롭게 sparta_db 이름이 나오면 연결 완료입니다 

db를 릭하고  connect를 클릭하세요

로컬로 떠서 잘 된게 맞는지 모르겠어요 ㅠㅠ

 

간헐적으로 발생하는 네트워크 오류라 합니다.... 다시 시도해봅시다

일반적으로 이는 드라이버가 서버에 도달할 수 없는 네트워크 문제로 인해 발생합니다. 네트워크 파티션, 클라이언트가 서버에 도달하지 못하게 하는 보안 설정(예: IP 허용 목록 문제), DNS 문제, 차단된 포트 등 여러 가지로 인해 발생할 수 있습니다.

Details:
Timed out after 30000 ms while waiting for a server that matches com.mongodb.client.internal.MongoClientDelegate$1@4f723a4b. Client view of cluster state is {type=REPLICA_SET, servers=[]

 

연결 됬어요

 

open cunections 클릭하면 연결된 목록이 보입니다.

 

5) 간단하게 데이터 제어해보기

CRUD 명령어도 간단하게 체험해봅시다
이 수업은 MongoDB가 아닌 Node.js를 배우는것이 목적이기 때문에 개념 잡는 정도만 짚고 넘어갈 예정이에요


[Studio 3T] 데이터 조회
db.mongodb_prac.find({})

 

[Studio 3T] 데이터 삽입
db.mongodb_prac.insertOne({ key: "value", key2: "값" })

[Studio 3T] 데이터 삭제
db.mongodb_prac.deleteOne({ _id: ObjectId("...")})

 

위에서 생성한 sparta_db에서 마우스 오른쪽 버튼을 클릭하고 Add Database를 클릭합니다. 

Database 이름을 입력해주고, ok 버튼을 눌러 생성해줍니다.
 이름은 자유롭게 지어도 되나, 편의상 mongodb_prac으로 지었습니다.
 이제 데이터베이스가 생성되었어요

생성된 Database에서 다시 오른쪽 버튼을 클릭하여, Open IntelliShell을 선택합니다.

 

 

우리는 Shell을 통해서 앞에 명령어들을 실행하고, 데이터를 조회 삽입 삭제 할 수 있습니다!

먼저 데이터를 넣어볼까요?
하단의 명령어를 Shell에 복사 붙여넣기하고, 바로 위에 “Run entire script” 버튼을 클릭하여 실행시켜줍니다.

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

 

key는 "value", key2는 "값"이라는 걸 가지고 있는 하나의 데이터를 mongodb_prac 이라고 하는 데이터베이스에다가 삽입을 한다 



데이터 넣었다면, 잘 들어갔는지 명령어로 확인해보겠습니다.
앞선 명령어를 주석(//) 처리한 후에 하단 명령어를 입력하고 실행시켜보세요

db.mongodb_prac.find({})

방금 넣은 데이터가 잘 들어간 것을 확인할 수 있습니다.

 

_id는 특정한, 고유한 데이터를 구분하기 위해 사용합니다.

'673aeb1fe1b2201cbe072f8a'는 ObjectId 값이라고 부릅니다.

MongoDB는 특정한 데이터를 구분하기 위해  ObjectId 라는 형식을 가지고 데이터를 구현합니다.

여러 데이터를 생성하더라도 무조건 고유한 ObjectId를 생성합니다.

 

이제 들어간 데이터를 한 번 삭제도 해보겠습니다.
삭제할때는 앞에 삽입한 데이터를 ObjectId 값이 필요하여, 하단과 같이 결과창에서 데이터를 클릭한 후에 F3버튼 또는 오른쪽 마우스를 누르고 “Document” → “View Document”를 클릭해서 복사해주면 됩니다!

앞선 명령어를 주석 처리한 후에 하단 명령어를 입력하고 실행시켜보세요!

// db.mongodb_prac.deleteOne({ _id: ObjectId("...")})
db.mongodb_prac.deleteOne({ _id: ObjectId("673aeb1fe1b2201cbe072f8a")})

삭제되었습니다.
db.mongodb_prac.find({}) 실행 결과 아무 것도 없음을 확인.