sql >> Database teknologi >  >> NoSQL >> MongoDB

fremskynde behandling af stort resultatsæt ved hjælp af rmongodb

Du vil måske prøve mongo.find.exhaust mulighed

cursor <- mongo.find(mongo, query, options=[mongo.find.exhaust])

Dette ville være den nemmeste løsning, hvis den faktisk virker til din brug.

Men rmongodb-driveren ser ud til at mangle nogle ekstra funktioner, der er tilgængelige på andre drivere. For eksempel har JavaScript-driveren en Cursor.toArray metode. Hvilket direkte dumper alle resultaterne til et array. R-driveren har en mongo.bson.to.list funktion, men en mongo.cursor.to.list er nok det du ønsker. Det er nok værd at pinge driverudvikleren for at få råd.

En hacky løsning kunne være at oprette en ny samling, hvis dokumenter er data "bidder" på hver 100.000 af de originale dokumenter. Så kunne disse hver af disse effektivt læses med mongo.bson.to.list . Den chunked-samling kunne konstrueres ved hjælp af mongo-serverens MapReduce-funktionalitet.



  1. MongoDB samlet pipeline langsom efter første kamptrin

  2. rmongodb-understøttelse af MongoDB 3

  3. python-rq worker lukker automatisk

  4. Uendelig genoprette tilstand af sekundær