MongoDB
파이썬 드라이버
수색…
통사론
- mongodb : // [username : password @] host1 [: port1] [, host2 [: port2], ... [, hostN [: portN]]] [/ [database] [? 옵션]]
매개 변수
매개 변수 | 세부 묘사 |
---|---|
hostX | 선택 과목. 필요한만큼 호스트를 지정할 수 있습니다. 예를 들어 복제 세트에 연결하기 위해 여러 호스트를 지정합니다. |
: portX | 선택 과목. 기본값은 지정되지 않은 경우 27017입니다. |
데이터 베이스 | 선택 과목. 연결 문자열에 인증 자격 증명이 포함 된 경우 인증 할 데이터베이스의 이름입니다. / database가 지정되지 않고 연결 문자열에 자격 증명이 포함되어 있으면 드라이버가 관리 데이터베이스에 인증됩니다. |
? 옵션 | 연결 별 옵션 |
pymongo를 사용하여 MongoDB에 연결
from pymongo import MongoClient
uri = "mongodb://localhost:27017/"
client = MongoClient(uri)
db = client['test_db']
# or
# db = client.test_db
# collection = db['test_collection']
# or
collection = db.test_collection
collection.save({"hello":"world"})
print collection.find_one()
PyMongo 쿼리
collection
개체를 얻으면 쿼리는 mongo 셸에서와 동일한 구문을 사용합니다. 약간의 차이점은 다음과 같습니다.
모든 키는 대괄호로 묶어야합니다. 예 :
db.find({frequencies: {$exists: true}})
pymongo
가됩니다 (대문자로 된True
참고).db.find({"frequencies": { "$exists": True }})
객체 ids 또는
ISODate
와 같은 객체는 파이썬 클래스를 사용하여 조작됩니다. PyMongo는ObjectId
클래스를 사용하여 객체 ID를 처리하고 날짜는 표준datetime
패키지를 사용합니다. 예를 들어 2010 년과 2011 년 사이에 모든 이벤트를 쿼리하려는 경우 다음을 수행 할 수 있습니다.from datetime import datetime date_from = datetime(2010, 1, 1) date_to = datetime(2011, 1, 1) db.find({ "date": { "$gte": date_from, "$lt": date_to } }):
PyMongo를 사용하여 컬렉션의 모든 문서 업데이트
컬렉션의 모든 문서에 필드를 추가해야한다고 가정 해 보겠습니다.
import pymongo
client = pymongo.MongoClient('localhost', 27017)
db = client.mydb.mycollection
for doc in db.find():
db.update(
{'_id': doc['_id']},
{'$set': {'newField': 10} }, upsert=False, multi=False)
find
메소드는 for in
구문을 사용하여 쉽게 반복 할 수있는 Cursor
반환합니다. 그런 다음 update
메소드를 호출하여 _id
지정하고 필드 ( $set
)를 추가합니다. 매개 변수 upsert
및 multi
MongoDB를 출신은 ( 추가 정보를 원하시면 여기를 참조 ).
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow