본문 바로가기
스파르타/Web

[Web] MongoDB Atlas ( week 3 )

by bakcoding_sparta 2023. 4. 20.

우선 MongoDB Atlas 페이지에 접속해서 회원가입부터 진행한다.

 

https://account.mongodb.com/account/register

 

그리고 Create Database를 선택해서 데이터 베이스를 생성해 주도록 한다. 

테스트만 진행할것이기 때문에 무료로도 충분하다.

 

 

그러고 나서 Username과 Password를 만들어준다. 생성한 정보는 까먹지 않도록 따로 메모해 둔다.

 

그리고 아래에서 IP Address를 추가한다.

 

그리고 Finish를 하면 DB에 접속할 준비가 끝났다.

 

접속하기

python으로 해당 DB에 접속하기 위해서 두 가지 패키지가 필요하다.

 

pip install dnspython

pip install pymongo 

 

두가지 패키지 설치가 모두 끝났으면 이제 코드를 작성한다. 새로운 파일을 하나 만들어서 작성하도록 한다.

from pymongo import MongoClient
client = MongoClient('mongoDB 주소')
db = client.dbsparta

mongoDB 주소가 필요한데 이 주소는 mongoDB 사이트에서 확인이 가능하다.

 

 

 

 

마지막에 복사한 주소를 코드에 넣어준다. 이때 <password>에는 아까 입력한 값을 넣어준다.

그리고 이제 연결된 DB에 데이터를 넣어본다.

 

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

db.users.insert_one(doc)

db 뒤에 붙는 users는 내가 데이터를 넣을 그룹이라고 생각하면된다.

해당 코드를 실행시킨 뒤 다시 사이트로 돌아가서 Browse Collections를 클릭한다.

 

 

클릭해 보면 dbsparta라는 데이터 베이스 안에 아까 입력한 users라는 묶음으로 아까 입력한 데이터가 들어간 것을 확인할 수 있다.

 

find

테스트를 위해서 데이터 몇 개를 더 넣어놓고 이제 가져와보도록 한다.

 

# DB에서 데이터를 가져온다.
all_users = list(db.users.find({},{'_id':False}))
for a in all_users:
    print(a)

 

# 데이터를 하나만 가져온다.
user = db.users.find_one({},{'_id':False})
print(user)

 

여기서 인자값 중 '_id':False는 데이터가 저장될 때 자동으로 할당되는 id값을 같이 가져올 것인지 확인하는 것이다.

 

update

이번에는 DB에 저장된 데이터를 수정해 본다.

# 데이터 수정
# name이 영수인 데이터를 찾고 age를 19로 변경한다
db.users.update_one({'name' : '영수'}, {'$set':{'age':19}})

첫 번째 인자는 데이터를 특정하고 두 번째 인자는 수정할 내용을 입력한다.

실행해 보면 잘 적용된 게 확인된다.

 

delete

DB에서 특정 데이터만 삭제해 본다.

# 데이터 삭제
db.users.delete_one({'name' : '철수'})

삭제가 잘 동작해서 해당 데이터가 삭제된 걸 확인 가능하다.