몽고 db 명령어와 pymongo

hyeok2·2023년 8월 8일

python

목록 보기
5/7
post-thumbnail

몽고 db 명령어

몽고db를 사용하는 과정에서 몇가지 명령어를 사용하게 되었고, 다른 명령어는 무엇이 있을지 찾아보고 정리해보게 되었다.

DB 명령어

데이터베이스 관리

  • show dbs: 현재 사용 가능한 데이터베이스 목록
  • use <database_name>: 특정 데이터베이스를 선택

컬렉션 관리

  • show collections: 선택된 데이터베이스의 컬렉션 목록
  • db.createCollection("<collection_name>"): 새로운 컬렉션을 생성

문서 삽입

  • db.<collection_name>.insertOne(<document>): 하나의 문서를 삽입
  • db.<collection_name>.insertMany(<list_of_documents>): 여러 문서를 한 번에 삽입

문서 조회

  • db.<collection_name>.find(): 컬렉션의 모든 문서를 조회
  • db.<collection_name>.findOne(<query>): 조건에 맞는 첫 번째 문서를 조회
  • db.<collection_name>.find(<query>): 조건에 맞는 모든 문서를 조회

문서 수정

  • db.<collection_name>.updateOne(<query>, <update_operation>): 조건에 맞는 첫 번째 문서를 수정
  • db.<collection_name>.updateMany(<query>, <update_operation>): 조건에 맞는 모든 문서를 수정

문서 삭제:

  • db.<collection_name>.deleteOne(<query>): 조건에 맞는 첫 번째 문서를 삭제
  • db.<collection_name>.deleteMany(<query>): 조건에 맞는 모든 문서를 삭제

인덱스 생성

  • db.<collection_name>.createIndex(<index_definition>): 인덱스를 생성

연산자

비교 연산자

$eq, $ne, $gt, $gte, $lt, $lte, $in, $nin

논리 연산자

$and, $or, $not, $nor

데이터 수정이나 배열 작업 등의 특별한 연산자

$set: 필드를 업데이트
$unset: 필드를 제거
$inc: 숫자 필드를 증감
$rename: 필드의 이름을 변경
$addToSet: 배열에 고유한 값을 추가

사용 용도

현재까지 사용한 방법으로는 python 파일에서 pymongo를 이용하여 명령어를 사용하는 방법이었다.

  • 조건에 맞는 값 지우기


result = db[collection_name].delete_many(query) : db에서 조건에 맞는 값들을 한번에 지우는 용으로 가장 많이 사용했다.

  • 조건에 맞는 값 업데이트 하기

    result = db[collection_name].update_many( {"OTT": "Mega"}, {"$set": {"OTT": ["Mega"]}}, )
    데이터를 크롤링하여 저장하는 과정에서 string으로 저장을 하여 airflow에서 덱을 인식을 못하는 경우가 생겼다. 이를 array형식 리스트로 수정하는 과정이 필요했다.
profile
땅을 파다보면 흙과 물을 보겠지만, 코드를 파다보면 답이 보일것이다.

0개의 댓글