• 회원가입
  • 로그인
  • 구글아이디로 로그인

[mongodb] Python - MongoDB Delete (데이터 삭제)

7357  

목차

  1. delete_one() 메서드 - 1개 document 삭제
  2. delete_many() 메서드 - 다수 document 삭제

 

delete_one() 메서드 - 1개 document 삭제

 

문서 1개 삭제는 delete_one() 메서드 사용. 

 


[구문]

 

delete_one(query)

 


[매개변수]

 

query

필수. 삭제할 문서를 정의하는 쿼리 객체.

참고 : 쿼리에서 둘 이상의 문서를 찾으면 첫 번째 항목만 삭제됨.

 


[예제]

import pymongo


myclient = pymongo.MongoClient("mongodb://localhost:27017/")

mydb = myclient["hz"]

mycol = mydb["hz_member"]

myquery = { "mb_level": '5' }

mycol.delete_one(myquery)

for x in mycol.find():

  print(x)

 

결과값: 아래 빨간색 데이터가 삭제됨.

...

{'_id': 10, 'mb_name': 'JJJ', 'mb_level': '4'}

{'_id': 11, 'mb_name': 'KKK', 'mb_level': '5'}

{'_id': 12, 'mb_name': 'LLL', 'mb_level': '5'}

{'_id': 13, 'mb_name': 'MMM', 'mb_level': '5'}

{'_id': 14, 'mb_name': 'NNN', 'mb_level': '5'} 

 

delete_many() 메서드 - 다수 document 삭제

 

문서 여러 개 삭제는 delete_many() 메서드 사용.

※ 삭제된 문서 개수는 삭제된 객체의 deleted_count 속성으로 확인. 

 


[구문]

 

delete_many(query)

 


[매개변수]

 

query

필수. 삭제할 문서를 정의하는 쿼리 객체. 

※ 정규표현식 등 사용해 삭제 조건 지정. (예제1)

※ 빈 쿼리인 {} 전달 시, 모든 문서 삭제. (예제2)

 


[예제1] mb_level 컬럼 값이 5로 시작하는 문서 삭제.

 

import pymongo


myclient = pymongo.MongoClient("mongodb://localhost:27017/")

mydb = myclient["hz"]

mycol = mydb["hz_member"]

myquery = { "mb_level": {"$regex": "^5"} }

x = mycol.delete_many(myquery)

print(x.deleted_count, "documents deleted")

 

결과값: 3 documents deleted


[예제2] collection의 모든 문서 삭제.

 

import pymongo


myclient = pymongo.MongoClient("mongodb://localhost:27017/")

mydb = myclient["hz"]

mycol = mydb["hz_member"]

x = mycol.delete_many({})

print(x.deleted_count, "documents deleted")

 

결과값: 10 documents deleted



분류 제목
mysql Python - MySQL Create Table (테이블 생성)
mysql Python - MySQL Insert Into Table (데이터 삽입)
mysql Python - MySQL Select From (데이터 선택)
mysql Python - MySQL Where (조건절)
mysql Python - MySQL Order By (정렬순서)
mysql Python - MySQL Delete From (데이터 삭제)
mysql Python - MySQL Drop Table (테이블 삭제)
mysql Python - MySQL Update (데이터 수정)
mysql Python - MySQL Limit (데이터 출력개수)
mysql Python - MySQL Join (테이블 결합)
mongodb Python - MongoDB start (설치・연결)
mongodb Python - MongoDB Create Database (DB 생성)
mongodb Python - MongoDB Create Collection (컬렉션 생성)
mongodb Python - MongoDB Insert (데이터 삽입)
mongodb Python - MongoDB Find (데이터 찾기)
mongodb Python - MongoDB Query (검색 쿼리)
mongodb Python - MongoDB Sort (데이터 정렬)
mongodb Python - MongoDB Delete (데이터 삭제)
mongodb Python - MongoDB Drop Collection (컬렉션 삭제)
mongodb Python - MongoDB Update (데이터 수정)
3/24
목록
찾아주셔서 감사합니다. Since 2012