coding/Python

python pymongo 사용법

JIN_Coder 2022. 4. 29. 01:34

2022.04.29

 

pymongo는 패키지 이므로 설치를 하고 임포트 하여 사용

 

일단 몽고디비는 눈에 보이지 않게 db를 저장하고 사용하기 때문에

가시적으로 볼수 있게 로보3T와 함께 사용 한다(로보3T가 몽고디비를 시각화 시켜주오 db를 볼수 있다)

 

pymongo 기본 코드

from pymongo import MongoClient
client = MongoClient('localhost', 27017)   # client = MongoClient('mongodb://localhost:27017/')
db = client.dbsparta   # db = client['dbsparta']

# 코딩 시작

client = MongoClient('localhost', 27017) 는 기본 호스트와 포트에 연결 합니다.

(내 컴퓨터에서 지금 돌아가고 있는 몽고디비에 접속 하겠다)

db = client.dbsparta 는 몽고디비에 dbsparta라는 이름의 db를 사용하겠다(없으면 만듦)

 

pymongo 4가지 메소드

from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta

# 저장 - 예시
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)

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

# 여러개 찾기 - 예시 ( _id 값은 제외하고 출력)
# {'age':21}는 조건 / {'_id':False}는 빼고 출력
same_ages = list(db.users.find({'age':21},{'_id':False}))   
print(same_ages)

# 바꾸기 - 예시
# 이름이 bobby 데이터의 나이를 19로 바꿔라
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})

# 지우기 - 예시
db.users.delete_one({'name':'bobby'})

=====++

2022.04.30

 

데이터 정렬

sort()

db.디비이름.find().sort(fildname, 정렬방법)

1 : 오름차순(기본값)

-1: 내림차순

same_ages = list(db.users.find({},{'_id':False}).sort("like", -1)   
print(same_ages)

 

데이터 업데이트

$inc 제한자

값 증가 : $inc

특정 값 증가 시키기

// $inc 제한자를 이용해 값 1 증가시키기 

// name이 post인 항목 전체 val 값 1 증가
db.seq.update({"name" : "post"}, {"$inc" : {"val" : 1}})

// idx가 idx(숫자)인 한개의 db read _count 값 1 증가
db.article.update_one({'idx': int(idx)}, {'$inc': {'read_count': 1}})

 

// 참고

https://thalals.tistory.com/169

 

[MongoDB] 특정 값 증가 - Update 메소드와 $inc 제한자 ( 조회 수, 좋아요)

몽고디비에서 Update 메소드를 사용할 때 값을 수정하기위해 $set을 이용하는데, 이 set이 제한자이다. 제한자의 종류는 다양하고 기능 또한 다양합니다. 제한자의 구체적인 용어는 '갱신 제한자'로

thalals.tistory.com

 

'coding > Python' 카테고리의 다른 글

python flask 시작  (0) 2022.04.29
python bs4 하위태그 지우기(원하는 태그만 스크랩핑)  (0) 2022.04.29
python bs4  (0) 2022.04.28
python requests 사용법  (0) 2022.04.28
파이썬 패키지 설치  (0) 2022.04.28