본문 바로가기
Python/개념

데이터베이스와 MongoDB 연결

by 사라리24 2024. 6. 3.
SMALL

 

1. 데이터베이스와 MongoDB 연결

  

 

* MongoDB 새로운 Project 만들기

더보기

 

 

 

 

 

 

 

 

  • 설치하기
  
 
          #MongoDB와 연결하기 위한 드라이버 모듈을 설치(설치 후 "세션 다시 시작 및 모두 실행")
          !python -m pip install "pymongo[srv]"==3.11
 
 런타임 다시 실행

 

 

  • import
 
 
          from pymongo import MongoClient
 
 

 

 

  • MongoDB와 연결하기
  
 
          url = 'mongodb+srv://leesarah721:9mTiuY6G1vsxBg4A@cluster0.s6fyzfr.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0'
          client = MongoClient(url)
          print(client)
 
  
비밀번호 다르면 다시 설정해서 진행

 

 

  • Database와 연결하기
 
 
          database = client['aiproject']
          collection = database['user']
 
  
 * 새로운 Database 만들기



 

 

  • 데이터 추가하기
  

          user_insert = {'userid' : 'apple','name':'김사과','age':20}
          result = collection.insert_one(user_insert)
          print(f'입력된 데이터 id:{result.inserted_id}')

 
 
입력된 데이터 id:665d1702bb94bfd7b2d1f9f6






  
 
 
          users_insert = [
              {'userid' : 'banana','name':'반하나','age':25},
              {'userid' : 'orange','name':'오렌지','age':30},
              {'userid' : 'melon','name':'이메론','age':28}
          ]
 
 
 
        result = collection.insert_many(users_insert)
        print(f'입력된 데이터 id: {result.inserted_ids}')
 
 
 
입력된 데이터 id: [ObjectId('665d1a71bb94bfd7b2d1f9f7'), ObjectId('665d1a71bb94bfd7b2d1f9f8'), ObjectId('665d1a71bb94bfd7b2d1f9f9')]



 

 

  • 데이터 조회하기
 
 
          user_find = {'userid': 'apple'}
          result = collection.find_one(user_find)
          print(f'데이터: {result}')
 
 
  
데이터: {'_id': ObjectId('665d1702bb94bfd7b2d1f9f6'), 'userid': 'apple', 'name': '김사과', 'age': 20}

 

 

  • 데이터 전체 조회하기
  
 
          result = collection.find({})
          for data in result:
            print(data)
 
  
 
{'_id': ObjectId('665d1702bb94bfd7b2d1f9f6'), 'userid': 'apple', 'name': '김사과', 'age': 20}
{'_id': ObjectId('665d1a71bb94bfd7b2d1f9f7'), 'userid': 'banana', 'name': '반하나', 'age': 25}
{'_id': ObjectId('665d1a71bb94bfd7b2d1f9f8'), 'userid': 'orange', 'name': '오렌지', 'age': 30}
{'_id': ObjectId('665d1a71bb94bfd7b2d1f9f9'), 'userid': 'melon', 'name': '이메론', 'age': 28}

 

 

  • 데이터 수정하기
 
     

          user_update = {'userid':'apple'}
          new_value = {'$set':{'age':30}} # {'$set':{'_id':ObjectId('xxxxx')}}
          collection.update_one(user_update, new_value)
          print('데이터 변경 성공!')
 
 
  
데이터 변경 성공!


 

 

  • 데이터 삭제하기

 
          user_delete = {'userid': 'apple'}
          collection.delete_one(user_delete)
          print('데이터 삭제 성공!')
 
 
데이터 삭제 성공!