Python

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

7365

목차

  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



분류 제목
mongodb Python - MongoDB Limit (데이터 출력개수)
module Python - random 모듈 메서드 종류
module Python - random.seed() 메서드 - 난수 생성기 초기화 (= seed메서드 = 시드)
module Python - random.getstate() 메서드 - 난수 생성기 현재 상태 반환. (= getstat…
module Python - random.setstate() 메서드 - 난수 생성기 상태 복원. (= setstate메서…
module Python - random.getrandbits() 메서드 ★ - 지정 bit 크기의 정수 반환. (= g…
module Python - random.randrange() 메서드 ★★ - 지정 범위 안에서 정수형 난수 반환. (=…
module Python - random.randint() 메서드 ★★ - 지정 범위 안 int형 난수 생성. (= ra…
module Python - random.choice() 메서드 ★★ - 요소 랜덤 반환. (= choice메서드 = 초…
module Python - random.choices() 메서드 - 가중치 반영해 랜덤 요소 반환. (= choices…
module Python - random.shuffle() 메서드 ★★ - 요소 순서 뒤섞기. (= 순서 랜덤 = shu…
module Python - random.sample() 메서드 ★ - 일부 요소 랜덤 선택. (= sample메서드 =…
module Python - random.random() 메서드 ★ - 0 ~ 1 사이 부동소수 랜덤 반환. (= ran…
module Python - random.uniform() 메서드 ★ - 지정 범위 안 랜덤 부동소수 반환. (= uni…
module Python - random.triangular() 메서드 - 지정 범위 안 가중치 반영 랜덤 부동소수 반환…
5/32
목록
 홈  PC버전 로그인 일본어
그누앞단언어
그누뒷단언어
그외코딩언어
그누보드
제작의뢰
Q&A
커뮤니티
웹유틸
회원센터
홈짱닷컴 PC버전 로그인