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이 영수 인 사람을 지우겠다는 것이다.
'Flask' 카테고리의 다른 글
웹 크롤링 (0) | 2023.05.16 |
---|---|
Flask route, jsonify (0) | 2023.05.14 |
Flask 란? (0) | 2023.05.13 |