당신은 pymongo을 사용하고 있는지 태그를 추가 한, 그래서 반복자로 커서를 사용하여 당신이 pymongo 예제를주지 :
를
import pymongo
cursor = pymongo.Connection().test_db.test_collection.find()
for item in cursor:
print item
#this will print the item as a dictionary
하고 또한
import pymongo
cursor = pymongo.Connection().test_db.test_collection.find()
results = [item['some_attribute'] for item in cursor]
#this will create a list comprehension containing the value of some_attribute
#for each item in the collection
, 당신은 배치의 크기를 설정할 수 있습니다이 작업을 수행하여 pymongo 드라이버에 반환
import pymongo
cursor = pymongo.Connection().test_db.test_collection.find()
cursor.batchsize(20) #sets the size of batches of items the cursor will return to 20
그것은 엉망 보통 불필요 일괄 처리 크기이지만 쿼리를 결과를 조작하는 동안 드라이버를 실행중인 시스템에 메모리 문제와 페이지 오류가 발생하면 더 나은 성능을 얻기 위해이 값을 설정해야 할 수도 있습니다 rmance (이것은 정말로 나에게는 고통스런 최적화와 같고 나는 항상 디폴트를 떠났다.)
javascript 드라이버 ("셸"을 실행할 때로드되는 드라이버)는 설명서의 일부에서 "어레이 모드"를 사용하지 말 것을 경고합니다. 일부 언어, 자바 스크립트처럼 드라이버가 "배열 모드"를 지원하는 쉘
주에서
분할 모드 : 온라인 매뉴얼에서. 자세한 내용은 드라이버 설명서를 확인하십시오.
db 쉘에서 배열 모드로 커서를 사용하려면 array index [] 작업과 length 속성을 사용하십시오.
배열 모드는 모든 데이터를 최대 색인 인 까지 RAM에로드합니다. 따라서 매우 많은 양의 데이터를 으로 반환 할 수있는 쿼리에는 사용할 수 없습니다. 클라이언트의 메모리가 부족합니다.
커서로 toArray()를 호출 할 수도 있습니다. toArray()는 모든 개체 쿼리를 RAM에로드합니다.