Flask

Flask 에서 MongoDB

Domae_ 2023. 5. 15. 08:00
SMALL
MongoDB 란?

Mysql 와 다른 NoSQL 로 구현된 데이터베이스 이다.

Mysql 와 다르게 테이블 형식이 아닌 JSON 방식의 형태로 데이터가 저장되고 조회된다.

자세한건 아래의 사진으로 남깁니다.

이 사진은 웹 크롤링이라는 기술을 이용해서 데이터를 가져온것이다 자세한 웹 크롤링은 게시글을 따로 만들어 설명하겠다.

 

Flask 에서 MongoDB 사용방법

Spring 에서는 객체로 가져오는 JPA 가 있다면 Flask 에서는 JSON 방식으로 그대로 가져와서 쓴다. ( 몽고DB 자체가 JSON 방식이므로 )

아래에 상세히 정리하겠다.

 

 

from pymongo import MongoClient
client = MongoClient('DB 주소')
db = client.testdb

DB 주소는 몽고DB 에서 주는것이다.

마지막 db = client.testdb 는 쉽게 설명하자면 Database 생성한것과 같다.

pymongo는 아래의 명령어를 통해 설치 하면 된다.

pip install pymongo

 

 

이제 조회를 해서 list 로 가져오는 방식이다.

all_users = list(db.users.find({},{'_id':False})) #_id 값은 빼고 가져오기.

여기서의 db.users 는 users 테이블을 생성한다는것과 비슷하다.

또한 마지막 find 를 자세히 보면 _id 값을 빼고 가져오는 것과 같이 내가 원하는 데이터들로만 가져올수 있다. 또한 find 는 전부를 가져오는것이다. 하지만 find_one 으로 하나만 가져오는것도 가능하다.

user = db.users.find_one({})

만약 where 문으로 즉, 조건문으로 데이터를 가져올려면 아래와 똑같이 적으면 된다.

user = db.users.find_one({'name':'영수'},{})

 

 

이제는 insert 를 배워보자

아래에  적어놓겠다.

doc = {
    'name':'영희',
    'age':30
}

db.users.insert_one(doc)

이런식으로 doc 에 Json 방식으로 저장을 하고 insert_one 을 통해 저장을 하면 된다.

 

 

이제는 update 를 배워보자

아래에 적어놓겠다.

db.users.update_one({'name':'영수'},{'$set':{'age':19}})

이런식으로 name 이 영수인 사람을 age: 19 로 바꾼다는 것이다.

 

 

이제는 delete 를 배워보자

아래에 적어놓겠다.

db.users.delete_one({'name':'영수'})

name이 영수 인 사람을 지우겠다는 것이다.

 

 

 

 

반응형
LIST