Retrieving entire data collection from a RavenDB

ravendb

Solution

You use paging, and read this 1024 items at a time.

int start = 0;
while(true)
{
   var current = session.Query<User>().Take(1024).Skip(start).ToList();
   if(current.Count == 0)
          break;

   start+= current.Count;
   allUsers.AddRange(current);

}

Problem

I have a requirement where I need to fetch the entire data collection `Users` from RavenDB and compare the retrieved result set with another set of data. There are close to 4000 records in this particular collection. Because Raven is Safe By Default, I keep getting an exception for either `Number of requests per session exceeded` or it returns the maximum 128 records. I don't want to set the property `Session.Advanced.MaxNumberOfRequestsPerSession` to a higher value. What query should I use to get the count of all the records? What is the ideal approach to handle this situation?

Original source