El avgObjSize
está fuera de línea con la estimación de 280 bytes. Dice que sus objetos tienen un promedio de alrededor de 5 MB y storageSize
está cerca de 1 GB. Si tiene limitaciones de memoria, ejecutar una consulta que necesita acceder a 1 GB de archivo completo causaría muchos errores de página.
¿Ha intentado compactar ?
db.runCommand({compact: 'Aggregates'})
o reparación ?
db.repairDatabase()
Si eso no funciona, intente retirar solo los campos necesarios para la suma en lugar de extraer todo el documento. Puede ser que esos documentos sean en realidad de 5 MB y el tiempo se dedique a extraer datos a través del cable.
def get_total():
start = datetime.now()
print sum([x['daily_total_pages'] for x in c.Aggregates.find({}, {"daily_total_pages": 1})])
end = datetime.now()
print (end-start).seconds