Možná budete chtít vyzkoušet mongo.find.exhaust
možnost
cursor <- mongo.find(mongo, query, options=[mongo.find.exhaust])
Toto by byla nejjednodušší oprava, pokud by to pro váš případ použití skutečně fungovalo.
Zdá se však, že ovladač rmongodb postrádá některé další funkce dostupné na jiných ovladačích. Například ovladač JavaScript má Cursor.toArray
metoda. Což přímo vypíše všechny výsledky hledání do pole. Ovladač R má mongo.bson.to.list
funkce, ale mongo.cursor.to.list
je pravděpodobně to, co chcete. Pravděpodobně stojí za to požádat vývojáře ovladače ping o radu.
Hackovým řešením by mohlo být vytvoření nové kolekce, jejíž dokumenty jsou datové „kusy“ 100 000 původních dokumentů. Pak je každý z nich lze efektivně číst pomocí mongo.bson.to.list
. Dělenou sbírku lze sestavit pomocí funkce MapReduce serveru mongo.