Al crear la conexión inicial actualmente en Python 2 usando Pymongo:
host = 'localhost'
port = 27017
db_name = 'test_db'
collection_name = 'test'
Para realizar la conexión con MongoClient
# Connect to MongoDB
client = MongoClient(host=host, port=port)
# Make a query to the specific DB and Collection
dbh = client[dbname]
collection = dbh[collection_name]
Así que desde aquí la respuesta correcta. Quiero leer usando fragmentos (en este caso, de tamaño 1000).
chunksize = 1000
Por ejemplo, podríamos decidir cuántos trozos de tamaño (tamaño de trozo) queremos.
# Some variables to create the chunks
skips_variable = range(0, db_aux[collection].find(query).count(), int(chunksize))
if len(skips_variable)<=1:
skips_variable = [0,len(skips_variable)]
Luego podemos recuperar cada trozo.
for i in range(1,len(skips_variable)):
# Expand the cursor and retrieve data
data_from_chunk = dbh[collection_name].find(query)[skips_variable[i-1]:skips_variable[i]]))
Donde la consulta en este caso es query = {}
.
Here Uso ideas similares para crear marcos de datos de MongoDB. Here Uso algo similar para escribir en MongoDB en trozos.
Espero que ayude.
Esto no funciona para las consultas de MongoDB –