попробуйте ответить mattjmorris от github
library(GetoptLong)
datemillis <- as.integer(as.POSIXct("2015-01-01")) * 1000
data <- data_collection$find(qq('{"createdAt":{"$gt": { "$date" : { "$numberLong" : "@{datemillis}" } } } }'))
ссылка: https://github.com/jeroenooms/mongolite/issues/5#issuecomment-160996514
Я просто опубликовал другое (лицензируемое для MIT) решение здесь , который запускает производителя в отдельном потоке и создает ограниченную очередь между производителем и потребителем, допуская буферизацию, управление потоком и параллельную конвейерную обработку между производителем и потребителем (так, чтобы потребитель мог работать над потреблением предыдущего объекта, в то время как производитель работает над созданием следующего объекта).
можно использовать эту анонимную внутреннюю форму класса:
Iterable<T> iterable = new Yielder<T>(queueSize) {
@Override
public void produce() {
yield(someT);
}
};
, например:
for (Integer item : new Yielder<Integer>(/* queueSize = */ 5) {
@Override
public void produce() {
for (int i = 0; i < 20; i++) {
System.out.println("Producing " + i);
yield(i);
}
System.out.println("Producer exiting");
}
}) {
System.out.println(" Consuming " + item);
Thread.sleep(200);
}