With the old driver I could specify the fields I wanted to return from a query as follows:
var cursor = Collection.Find(query).
SetFields(Fields<MealPlan>.Exclude (plan => plan.Meals));
How do I accomplish this with the 2.0 driver?
You need to use the Projection
method on IFindFluent
(which is what Find
and Projection
return):
var findFluent = Collection.Find(query).Projection(Fields<MealPlan>.Exclude (plan => plan.Meals))
Now, this would eventually generate a cursor of BsonDocument
s since it doesn't know how the projection looks. You can call the generic Projection
instead to add that type:
var findFluent = Collection.Find(query).Projection<MealPlan>(Fields<MealPlan>.Exclude (plan => plan.Meals))
In a more general sense (which is less relevant when using Exclude
), you could also specify fields using a lambda expression:
var findFluent = Collection.Find(query).Projection(plan => plan.Meals)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With