/// <summary> /// Creates a new MongoCursor /// </summary> public MongoCursor(QueryRequest query, long cursor, int count) { Cursor = cursor; Query = query; ReturnCount = count; }
/// <summary> /// Selects the records from the database that matches this query /// </summary> public IEnumerable<MongoDocument> Select(int skip, int take, QueryOptionTypes options, params string[] fields) { //create the request to use QueryRequest request = new QueryRequest(this.Collection); request.Fields.AddRange(fields); request.Skip = skip; request.Take = take; request.Options = options; request.Parameters = this._Parameters; //send the request and get the response QueryResponse response = this.Collection.Database.Connection .SendRequest(request) as QueryResponse; //save this cursor for later MongoCursor cursor = new MongoCursor(request, response.CursorId, response.TotalReturned); this.Collection.Database.RegisterCursor(cursor); //and return the records IEnumerable<MongoDocument> documents = response.Documents.AsEnumerable(); this.Collection.UpdateOnSubmit(documents); return documents; }
/// <summary> /// Creates a new MongoCursor /// </summary> public MongoCursor(QueryRequest query, long cursor, int count) { this.Cursor = cursor; this.Query = query; this.ReturnCount = count; }