I have to test this:
using MongoDB;
using MongoDB.Driver;
using MongoDB.Bson;
using MongoDB.Driver.Builders;
var connectionString = "mongodb://user:pass@xxx.mongolab.com:53139/xxx";
var client = new MongoClient(connectionString);
var server = client.GetServer();
var database = server.GetDatabase("xxx");
var courses = database.GetCollection("Course");
//Option A (without any where clause)
var course =courses.FindAllAs<Course>().SetFields(Fields.Include("Title", "Description").Exclude("_id")).ToList();
//Option B (with where clause)
var course = courses.FindAs<Course>(MongoDB.Driver.Builders.Query.EQ("Title", "Todays Course")).SetFields(Fields.Include("Title", "Description").Exclude("_id")).ToList();
//Option C (with where clause). Its an alternative approach of Option B.
var query = new QueryDocument("Title", "Todays Course");
var course = courses.FindAs<Course>(query1).SetFields("Title","Description").ToList();