sql >> Database >  >> NoSQL >> MongoDB

versnel de verwerking van grote resultatensets met rmongodb

Misschien wil je de mongo.find.exhaust . proberen optie

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

Dit zou de gemakkelijkste oplossing zijn als het echt werkt voor uw gebruik.

Het rmongodb-stuurprogramma lijkt echter enkele extra functies te missen die beschikbaar zijn op andere stuurprogramma's. Het JavaScript-stuurprogramma heeft bijvoorbeeld een Cursor.toArray methode. Die direct alle zoekresultaten naar een array dumpt. Het R-stuurprogramma heeft een mongo.bson.to.list functie, maar een mongo.cursor.to.list is waarschijnlijk wat je wilt. Het is waarschijnlijk de moeite waard om de driverontwikkelaar te pingen voor advies.

Een hacky oplossing zou kunnen zijn om een ​​nieuwe collectie te creëren waarvan de documenten data "brokken" zijn van 100000 van de originele documenten elk. Dan kunnen deze elk efficiënt worden gelezen met mongo.bson.to.list . De chunked-collectie kan worden samengesteld met behulp van de Mongo-server MapReduce-functionaliteit.



  1. MongoDB - upsert met lijsten

  2. MongoDB Java-stuurprogramma:MongoCore-stuurprogramma versus MongoDB-stuurprogramma versus MongoDB async-stuurprogramma

  3. mongodb-query geneste structuur

  4. Mongoose findById() in een object van geneste schema's / subdocumenten - aggregatie