MongoDb:如何使用C#官方驱动程序返回select(find)中的distinct字段

时间:2011-10-31 09:24:18

标签: mongodb mongodb-.net-driver

我需要从用户集合中选择用户名。我是这样做的:

MongoCollection<Enums> coll = Db.GetCollection<Enums>("Users"); 
var query = Query.EQ("_id", id); 
var res = coll.FindOne(query); 
var name = res.Name; 
var url = res.UserUrl; //or some more fields, not just Name

假设用户文档可以包含大量数据,并且不需要传输整个用户文档,如何仅使用官方C#驱动程序选择几个不同的字段?

1 个答案:

答案 0 :(得分:2)

您必须使用返回MongoCursor的函数。 在MongoCursor中,您可以指定要返回的字段。

var result = Db.GetCollection<Enums>("Users").FindAll();
result.Fields = Fields.Include(new [] {"Name"});;

foreach (var user in result)
{   
    Console.WriteLine(user.Name);
}