본문 바로가기
IT/데이터베이스

VScode에 mongoDB 설치(for mac)

by 무녈 2021. 7. 23.

MongoDB

 

2009년에 탄생한 몽고DB(MongoDB)는

크로스 플랫폼 도큐먼트 지향 데이터베이스 시스템이다.

NoSQL 데이터베이스로 분류되는 mongoDB는 JSON과 같은 동적 스키마형 도큐먼트들을 선호함에 따라

전통적인 테이블 기반 관계형 데이터베이스 구조의 사용을 삼간다.

이로써 특정한 종류의 애플리케이션을 더 쉽고 빠르게 데이터 통합을 가능하게 한다.

 

크레이그리스트, 이베이, 포스퀘어, 소스포지, 뉴욕타임즈, 구글 페이스북과 같은 

수많은 주요 웹사이트 및 서비으세 백엔드 소프트웨어로 채택되며, 

몽고DB는 가장 유명한 NoSQL 데이터베이스 시스템이다.

(출처 - 몽고 DB-위키백과)

 


VScode에 mongoDB 설치하기

몽고DB에 대한 자세한 내용은 삼가고, 

설치하는 방법을 제대로 찾아보지 않은 채 설치했다가

낭패를 본뒤, 오랜시간 전전긍긍한 끝에 방법을 찾게되어

잊지 않기 위해 글을 쓰고자 한다.

 

몽고DB설치 방법은

https://docs.mongodb.com/mongodb-vscode/install/

 

Install MongoDB for VS Code — MongoDB for VS Code

MongoDB for VS Code is currently available as a Preview in the Visual Studio Marketplace. The product, its features, and the corresponding documentation may change during the Preview stage.

docs.mongodb.com

위 사이트의 내용을 참고하여 설치를 진행하였다.

 

설치방법 한줄 요약: 비밀번호에 특수문자를 넣지말자 ->

넣었을 경우 해결책은 

"번외"

를 참고한다.

설치 방법

1. VScode에서 Extensins View 창을 연다.

또 다른 방법으로는

  • Window user: Control + Shift + X
  • Mac user: Command  Shift + X

각각 알맞은 OS에 따른 단축기를 활용할 수 있다.

2. Extension marketplace에 "MongoDB for VS code"를 검색한다.

3. "MongoDB for VS code" extension install을 클릭하여 설치한다.

4. 설치를 하게되면 VScode 좌측에 잎 icon이 생기고, 클릭하여 들어간다.

5. mongoDB를 연결하기 위한 창을 확인한다.

몽고DB host가 존재하지 않는다면 이번에 만들어보자.

6. 화면 중앙 아래쪽에 위치한 Create free cluster를 클릭한다

7. 사이트에 접속하여 Get Started Free를 위해 Google 계정으로 가입 하기 또는 자체 form을 작성한다.

https://www.mongodb.com/products/vs-code/vs-code-atlas-signup?utm_campaign=vs-code-extension&utm_source=visual-studio&utm_medium=product&ajs_aid=e8c22f46-dc07-4800-b6ee-0eeca0a37d3e 

 

MongoDB for VS Code Extension | Sign Up

Begin interacting with your data within your Workflow in VS Code.

www.mongodb.com

아무렇게나 처도 된다....인증이 없다....필자는 이 글을 쓰게된 결정적인 문제로 인해 2번째 계정을 만들었다.

 

환영한다고 한다.

8. 조직, 프로젝트이름, 선호하는 언어를 선택하고 continue버튼을 누른다.

9. 무료 cloud database를 선택하자

공짜잖아!!!!!! 일단 공짜는 받고 봐야지

(돈이 많거나 처음부터 큰 db가 필요할 경우 Dedicated 사용하거나, 서버가 필요 없는 경우 Severless를 선택하자)

shared의 경우 다른 회사와 달리 신용카드 등의 개인 정보가 필요없다!!!

10. 각자 상황에 맞는 Cloud Provider & Region을 선택한다

필자는 Azure를 선택하였고, 무료 클라우드의 경우 대한민국은 없기 때문에 각자 가고싶은 여행지를 상황에 맞게 선택한다.

무료 cloud는 무료 512MB를 제공한다.

다 작성했으면 Create Cluster를 클릭한다.

11. 해당 과정까지 왔으면 절반은 왔다. 환호하자!

cluster가 최종적으로 생성되기 위해 1~3분 정도 소요된다.

(부끄럼쟁이라 그런지 계속 처다보고 있는데 3분 넘게 걸렸다)

12. Cluster에 연결하기 위해 Connect 버튼을 누른다.

13.  데이터베이스 유저를 생성한다.

connection IP address를 추가한다. (자동으로 생성된다)

그리고 가장 중요한 Database User를 생성한다.

# 이때 작성한 Username과 Password를 꼭꼭 기억하자. VScode에 DB를 연결하기 반드시 필요하다.

# 필자가 글을 작성하게 된 것도 이 시점을 간과했다.

# 이때 간과한 것은 바로 비밀번호에 "!", "@"," =" 등의 특수문자를 사용하지 않고 생성하는 것이다.

# 왜이거 크게 아니 홈페이지 어디에도 안써놓은지 모르겠다.

글을 다 작성한 뒤 특수문자를 넣고 비밀번호를 생성한 낭패를 보여주겠다.

 

각 각 Create을 누르면 "Choose a connection method"버튼이 활성화된다. 클릭하자.

14. VScode에 연결하기 위해 Connect your application을 클린한다.

15. 본인이 사용할 Driver와 version을 선택한다

필자는 파이썬의 pymongo를 사용하며, 이때 Driver는 Python을 , Version은 pymong의 version을 선택한다!

 

pymongo가 없다면 vscode에 terminal을 통해 다운받는다.

pip3 install pymongo  # for mac

pip install pymongo # for window

pymongo version 확인하기

python3	
import pymongo
pymongo.version

# version마다 string이 달라지니 반드시 확인하자

# 처음 실행할 때 python이 3.8이라 3.6이상을 선택하고 string을 붙였는데, 알고보니 pymongo version 이었고,

다행이 pymongo 3.12와 3.6이상의 string이 동일하였다.

16. connection string을 copy하고 본인의 application code에 붙여넣는다.

mongodb+srv://nyeol:<password>@cluster0.rnh1m.mongodb.net/myFirstDatabase?retryWrites=true&w=majority"

<password> 부분에는 본인의 password를 기재한다.

mongodb+srv://nyeol:test_password@cluster0.rnh1m.mongodb.net/myFirstDatabase?retryWrites=true&w=majority"

("<>"angle bracket도 삭제한다! 이 부분도 상당히 애매하게 기재되어있다.)

17. db를 연결한 file을 실행시킨다.

LIBARY라는 database를 생성하고 출력하였다(local과 admin은 기본적으로 들어가있다.)

mongoDB를 확인하면 갑자기 그래프가 치솟는다.

18. Browse Collections을 클릭해보자

VScode를 통해 실행한 파일의 database를 확인할 수 있다.

19. VScode에서 database 확인하기해 db connect하기

Connect 버튼을 클릭한다.

또는

  • mac: command+shift+p -> mongoDB: connect
  • window: control+shift+p -> mongoDB: connect

아까 만들었던 connection string을 그대로 입력한다.

window는 모르겠으나 mac은 복붙이 안되서 고생했다.

패스워드에 !@가 있어서 이게 문제인지 모를때 100번 입력한거 같다^^

연결에 성공하면 mongoDB atlas에서 확인한 database를 vscode에서도 확인할 수 있다!

성공!!!!얏호!!

성공했다!!!


번외

비밀번호에 특수문자를 넣었다!!!! 어떻게 하지 편

 

비밀번호에 "@"가 있어서 파일을 run해도 계속해서 error가 발생한다.

raise InvalidURI("Username and password must be escaped according to "
pymongo.errors.InvalidURI: Username and password must be escaped according to RFC 3986, 
use urllib.parse.quote_plus().

해결방법

에러를 읽어보면 "urllib.parse.quote_plus()"를 사용하라고 한다.

import urllib.parse

urillib.parse를 import를 한 뒤

변수를 설정하고

uri = "mongodb+srv://Eunyeol:" + urllib.parse.quote_plus("password!@") 
+ "@cluster0.g6gew.mongodb.net/myFirstDatabase?retryWrites=true&w=majority"

와 같이 나의 string을 입력한다.

 

변수를 

원래 string이 들어가던 자리에 입력한뒤 run을 하면

위와 같이 database가 생성됨을 확인할 수 있다.

아직 vscode에서 database를 관리하기 위한 connection은 안되는지 못찾았다

찾으면 올리겠다.

다른 분들은 패스워드에 특수문자를 넣는 불상사가 발생하지 않기를 바라는 마음으로 작성하였다.

 

새벽에 엄청고생했다.....끗

반응형

댓글