Du kanske vill prova mongo.find.exhaust
alternativ
cursor <- mongo.find(mongo, query, options=[mongo.find.exhaust])
Detta skulle vara den enklaste lösningen om det faktiskt fungerar för ditt användningsfall.
Men rmongodb-drivrutinen verkar sakna några extra funktioner som är tillgängliga på andra drivrutiner. JavaScript-drivrutinen har till exempel en Cursor.toArray
metod. Vilket direkt dumpar alla sökresultat till en array. R-drivrutinen har en mongo.bson.to.list
funktion, men en mongo.cursor.to.list
är förmodligen vad du vill. Det är nog värt att pinga drivrutinutvecklaren för råd.
En hackig lösning kan vara att skapa en ny samling vars dokument är data "bitar" på 100 000 av originaldokumenten vardera. Sedan kan var och en av dessa läsas effektivt med mongo.bson.to.list
. Den uppdelade samlingen skulle kunna konstrueras med hjälp av mongo-serverns MapReduce-funktionalitet.