PyMongo 튜토리얼
PyMongo 시작하기
수색…
비고
이 섹션에서는 pymongo가 무엇인지, 왜 개발자가 그것을 사용하고 싶어하는지에 대한 개요를 제공합니다.
또한 pymongo 내의 큰 주제를 언급하고 관련 주제에 링크해야합니다. pymongo에 대한 문서는 새로운 문서이기 때문에 관련 주제의 초기 버전을 만들어야 할 수도 있습니다.
설치 또는 설정
pymongo 설치 또는 설치에 대한 자세한 지침.
Pip으로 설치
처음으로 pymongo를 설치하려면,
pip install pymongo
pymongo의 특정 버전 설치하기 :
XXX는 설치할 버전입니다.
pip install pymongo==XXX
기존 pymongo 업그레이드 :
pip install --upgrade pymongo
easy_install을 사용 하여 설치
처음으로 pymongo를 설치하려면,
python -m easy_install pymongo
기존 pymongo 업그레이드 :
python -m easy_install -U pymongo
안녕하세요, 세계
PyMongo는 MongoDB를위한 원시 Python 드라이버입니다.
PyMongo 설치
pip install pymongo
연결 만들기
MongoClient를 사용하여 연결을 만듭니다. MongoClient는 기본적으로 지정되지 않은 경우 localhost:27017
에서 실행되는 MongoDB 인스턴스로 설정됩니다.
from pymongo import MongoClient
client = MongoClient()
데이터베이스 개체 액세스
PyMongo의 Database 클래스는 MongoDB의 데이터베이스 구조를 나타냅니다. 데이터베이스는 논리적으로 관련된 콜렉션 그룹을 보유합니다.
db = client.mydb
컬렉션 개체 액세스
PyMongo의 Collection 클래스는 MongoDB에서 컬렉션 구조를 나타냅니다. 컬렉션에는 관련 문서 그룹이 있습니다.
col = db.mycollection
MongoDB는 처음 사용할 때 암시 적으로 새로운 데이터베이스와 컬렉션을 생성합니다.
기본 CRUD 작업
MongoDB는 데이터 레코드를 BSON 문서 로 저장합니다. BSON은 JSON의 2 진 표현입니다.
$ python
>>> from pymongo import MongoClient
>>> client = MongoClient()
>>> col = client.mydb.test
몹시 떠들어 대다
단일 문서 삽입 insert_one(document)
>>> result = col.insert_one({'x':1})
>>> result.inserted_id
ObjectId('583c16b9dc32d44b6e93cd9b')
여러 문서 삽입 insert_many(documents)
>>> result = col.insert_many([{'x': 2}, {'x': 3}])
>>> result.inserted_ids
[ObjectId('583c17e7dc32d44b6e93cd9c'), ObjectId('583c17e7dc32d44b6e93cd9d')]
replace_one(filter, replacement, upsert=False)
일치하는 단일 문서를 바꿉니다. 일치하는 문서가 없으면 새 문서를 삽입하려면 upsert=True
사용 upsert=True
>>> result = col.replace_one({'x': 1}, {'y': 1})
>>> result.matched_count
1
>>> result.modified_count
1
최신 정보
필터와 일치하는 단일 문서 업데이트 update_one(filter, update, upsert=False)
>>> result = col.update_one({'x': 1}, {'x': 3})
update_many(filter, update, upsert=False)
필터와 일치하는 하나 이상의 문서 update_many(filter, update, upsert=False)
>>> result = col.update_many({'x': 1}, {'x': 3})
독서
데이터베이스 find(filter=None, projection=None, skip=0, limit=0, no_cursor_timeout=False)
. filter 인수는 모든 결과가 일치해야하는 프로토 타입 문서입니다.
>>> result = col.find({'x': 1})
데이터베이스에서 단일 문서 가져 find_one(filter=None)
>>> result = col.find_one()
투영 쿼리
query={'x':1}
projection={'_id':0, 'x':1} # show x but not show _id
result=col.find(query,projection)
지우다
필터와 일치하는 단일 문서 삭제 delete_one(filter)
>>> result = col.delete_one({'x': 1})
>>> result.deleted_count
1
필터와 일치하는 하나 이상의 문서 삭제 delete_many(filter)
>>> result = col.delete_many({'x': 1})
>>> result.deleted_count
3
PyMongo는 또한 find_one_and_delete()
, find_one_and_update()
및 find_one_and_replace()
기능을 제공합니다.