I use offical C# Driver for mongodb, I want to use SetFields from a FindOne query like Find.
var query = Query.EQ(\"Name\", name);
Users.Find(query).SetField
SetFields
method of MongoCursor.
Method FindOne just wrapper around MongoCursor and internally it looks so:
public virtual TDocument FindOneAs() {
return FindAllAs().SetLimit(1).FirstOrDefault();
}
If you want add Exclude Fields functionality to it you can simply add extention method for MongoCollection
:
public static class MongodbExtentions
{
public static T FindOne(this MongoCollection collection,
params string[] excludedFields)
{
return collection.FindAllAs().SetLimit(1)
.SetFields(excludedFields)
.FirstOrDefault();
}
}
And use it like this:
var user = Users.FindOne("Password");