mongodb c#选择特定字段
需要一些帮助来创建一个通用方法来按名称选择字段。
像这样的东西:
T GetDocField(string doc_Id, string fieldName)
我得到的最好的是使用投影 ,它给我的文档只有想要的字段:
public T GetDocField(string Doc_Id, string fieldName) { var value = DocCollection.Find(d => d.Id == Doc_Id) .Project(Builders.Projection .Include(new StringFieldDefinition (fieldName))).FirstOrDefaultAsync().Result;
注意:我正在使用新的c#驱动程序(2.0)
谢谢!!
你可以做下一个:
public async Task GetFieldValue(string id, Expression> fieldExpression) where TEntity : IEntity { var propertyValue = await collection .Find(d => d.Id == id) .Project(new ProjectionDefinitionBuilder().Expression(fieldExpression)) .FirstOrDefaultAsync(); return propertyValue; }
并称之为
var value = await GetFieldValue- ("111", x => x.Name);