목차
delete_one() 메서드 - 1개 document 삭제
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
주소 복사
랜덤 이동
최신댓글