/// <summary>
 /// Returns a collection cursor.
 /// </summary>
 /// <typeparam name="TDocument">The type representing a Document.</typeparam>
 /// <param name="filter">A LINQ expression filter.</param>
 /// <param name="partitionKey">An optional partition key.</param>
 public IFindFluent <TDocument, TDocument> GetCursor <TDocument>(Expression <Func <TDocument, bool> > filter, string partitionKey = null) where TDocument : IDocument <TKey>
 {
     return(MongoDbReader.GetCursor <TDocument, TKey>(filter, partitionKey));
 }