[DB] MongoDB 기본쿼리

한호성·2022년 6월 22일
0

MongoDB

목록 보기
2/2

MongoDB CRUD

기본 쿼리

Create - insert

insert 명령어를 이용하여 json 형식 데이터를 삽입합니다. 아래 그림과 같이 field:value 형식으로 되어있는 것을 확인할 수 있습니다.

# 저장(Insert) - 예시

# insert_one() , insert_many() 를 사용
# 컬렉션 객체. insert_one([JSON 형식])

doc = {'name':'bobby','age':21}
doc_many = [{'name':'bobby','age':21}, {'name':'hosung','age':27}]
result = db.users.insert_one({})
result2 = db.users.insert_many(doc_many)

# result.acknowledged = insert_one() method return 값 제대로 insert 됬는지 알 수 있다.
print(result.acknowledged)
# 결과 객체안에 어떤 멤버변수들이 있는지 찍어볼 수 있다.
print(dir(result))

Read - find

find를 이용해 데이터를 검색한다. query criteria에는 조건문, projection에는 출력하고자 하는 필드에 1을 넣어준다.


# 찾기( find ) - 예시

# Collection 에 포함된 documents 개수 구하기  " { 찾는 doc 조건 넣는 곳 } "

print(db.users.count_documents({"name": "bobby"}))
print(db.users.estimated_document_count())

# 한 개 찾기 - 예시
user = db.users.find_one({'name': 'bobby'})

# sort(key 값,-1) 붙이면 내림차순
# sort(key 값) 붙이면 오름차순

# # 여러개 찾기 - 예시 ( _id 값은 제외하고 출력)
# all_users = list(db.users.find({'name': 'bobby'}, {"_id": False}).sort("age", -1))

update - update

특정 조건을 update 할 때 사용된다. update filter에 업데이트 하고자 하는 도큐먼트의 조건을 넣ㅇ주고, update function에는 업데이트 할 것을 넣어준다.

# 하나만 바꾸기 (조건에 맞는 doc 중 제일 처음것을 update 함)
result = db.users.update_one({'name': 'bobby'}, {'$set': {'text': "hi bobd1by"}} )

#여러 개 바꾸기
db.users.update_many({'name': 'bobby'}, {'$set': {'text': 30}})

print(dir(result))
# query 실행 후, doc 값이 변하면 modified_count= 1이 된다.
print(result.modified_count)

Delete - delete

특정 도큐먼트를 삭제할 때 사용된다. delete filter에 삭제할 조건을 넣어준다.

# 지우기 - 예시

# 한 개 지우기
# db.users.delete_one({'name':'bobby'})

# 여러 개 지우기
db.users.delete_many({'name': 'bobby'})
profile
개발자 지망생입니다.

0개의 댓글