avgObjSize
er ude af overensstemmelse med estimatet på 280 byte. Det siger, at dine objekter i gennemsnit er omkring 5 MB og storageSize
er tæt på 1 GB. Hvis du har begrænset hukommelse, vil det forårsage en masse sidefejl ved at køre en forespørgsel, der skal have adgang til alle 1 GB fil.
Har du prøvet at komprimere ?
db.runCommand({compact: 'Aggregates'})
eller reparation ?
db.repairDatabase()
Hvis det ikke virker, prøv at trække tilbage netop de felter, der er nødvendige for summen i stedet for at trække hele dokumentet. Det kan være, at disse dokumenter faktisk er på 5 MB, og tiden går med at trække data over ledningen.
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