수색…


비고

이 섹션에서는 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() 기능을 제공합니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow