안녕하세요. 오늘은 MongoDB를 로컬에 설치하고, 파이썬에 연동해보겠습니다!
https://www.mongodb.com/try/download/community
먼저 해당 사이트에 접속해서, 하단으로 내리시다보면 다운로드 받는 곳이 있습니다. 버전과 플랫폼을 확인 후 msi 형태로 다운로드 받아줍니다.
1. MONGO DB 로컬 설치
(1) 설치화면이 뜨면 계속해서 NEXT를 클릭해줍니다.
(2) 해당 화면이 뜨면 Complete를 클릭하고, NEXT를 클릭합니다.
(3) 기본 설정으로 두고, NEXT 클릭
(4) Install MongoDB Compass, MongoDB UI 관련 툴인데 일단 저는 사용하지 않으므로, 체크 해제하겠습니다.
(5) 설치합니다.
(6) 위와 같이 환경변수를 설정합니다. 환경변수는 경로를 바꾸지 않으셨다면 이렇습니다.
C:\Program Files\MongoDB\Server\4.4\bin
(7) cmd 창을 열어, mongo를 입력합니다. 위와 같이 뜨면 성공
2. MONGO DB Python 연동(CRUD)
from pymongo import MongoClient
from pymongo import MongoClient
def connect_mongodb():
client = MongoClient("mongodb://localhost:27017")
mydb = client["signup"]
mycoll = mydb["userinfo"]
return mycoll
pymongo의 MongoClinet를 통해, mongoDB와 연결하고 singup이라는 데이터베이스, 그 데이터베이스 안에, userinfo 라는 컬렉션을 생성합니다. 반환 값은 해당 테이블입니다.
(1) INSERT
from pymongo import MongoClient
def connect_mongodb():
client = MongoClient("mongodb://localhost:27017")
mydb = client["signup"]
mycoll = mydb["userinfo"]
return mycoll
def insert_one(coll):
mydict = {
"name": "Gil-Dong Hong",
"age": 999,
"address": "조선시대",
"phone": "111-1111-1111"
}
coll.insert_one(mydict)
if __name__ == '__main__':
coll = connect_mongodb()
data_arg_1 = input("이름을 입력하세요 : ")
data_arg_2 = input("나이을 입력하세요 : ")
data_arg_3 = input("주소를 입력하세요 : ")
data_arg_4 = input("번호를 입력하세요 : ")
insert_one(coll)
coll.insert_one을 통해서 insert를 구현합니다.
(2) SELET
from pymongo import MongoClient
def connect_mongodb():
client = MongoClient("mongodb://localhost:27017")
mydb = client["signup"]
mycoll = mydb["userinfo"]
return mycoll
def select_one(coll): # findOne 쿼리 할 때
result = coll.find_one()
print(result)
def select_all(coll): # find 쿼리 할 때
result = list(coll.find()) # list 형태로 해야 반환
print(result)
# for i in result:
# print(i)
if __name__ == '__main__':
coll = connect_mongodb()
select_one(coll)
select_all(coll)
find_one 코드를 이용해서, 하나의 값을 가지고 옵니다. 다만 여러개를 가져올 경우 반드시 list 형태로 반환해야합니다.
(3) UPDATE
from pymongo import MongoClient
def connect_mongodb():
client = MongoClient("mongodb://localhost:27017")
mydb = client["signup"]
mycoll = mydb["userinfo"]
return mycoll
def select_one(coll): # findOne 쿼리 할 때
result = coll.find_one()
print(result)
def select_all(coll): # find 쿼리 할 때
result = list(coll.find()) # list 형태로 해야 반환
for i in result:
print(i)
# db.update_one({조건}, {변경할 값})
# db.update_one({}, {"$set" : {name : '바보'}})
def update_one(coll, update_key, update_value):
# db.update_one({조건}, {변경할 값})
update_arg_1 = {} # 조건을 바꾸고 싶다면 이 부분에 key,value 형태로 검색 조건 구현
update_arg_2 = {"$set" : {update_key: update_value}}
coll.update_one(update_arg_1, update_arg_2)
def update_many(coll, update_key, update_value):
# db.update_one({조건}, {변경할 값})
update_arg_1 = {}
update_arg_2 = {"$set" : {update_key: update_value}}
coll.update_many(update_arg_1, update_arg_2)
if __name__ == '__main__':
coll = connect_mongodb()
# 수정 전 값
print('수정 전')
select_all(coll)
update_key = input('업데이트할 키를 입력하세요: ')
update_value = input('업데이트할 값을 입력하세요: ')
update_many(coll, update_key, update_value)
print('수정 후')
select_all(coll)
조건과 update 값을 설정한 뒤에 값을 update 합니다.
'데이터 엔지니어링 > 하둡 에코 시스템' 카테고리의 다른 글
[MongoDB]pymongo로 간단한 프로그램 만들기 (3) | 2023.05.18 |
---|---|
[HIVE] 기본 개념 및 실습 (0) | 2023.05.16 |
[PIG] 기본 개념 및 실습 (0) | 2023.05.12 |
[Flume] 기본 개념 및 설치 (0) | 2023.05.10 |