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);