如何使用 csharpdrivers 在 mongodb 中使用投影

how to use projection in mongodb using csharpdrivers

有人告诉我如何在 mongo csharp 驱动程序中使用投影从 mongodb 检索数据吗???

        var coll = dbobject.GetCollection("login");
        var query = Query<login>.EQ(e => e.username,username );
        var sa = coll.FindOne(query).ToJson();

我想省略_id...如何在此代码中插入投影???

你可以这样做:

public static dynamic GetUser(string username)
{
    var context = new Context();
    var builder = Builders<User>.Filter;
    var filter = builder.Eq(x => x.Username, username);
    var projection = Builders<User>.Projection
        .Include(x => x.Name)
        .Include(x => x.Password)
        .Exclude(x => x.Id); 
    var result = context.UserCollection.Find(filter).Project(projection).SingleOrDefault();
    return result;
}

Userclass如下:

public class User
{
    public ObjectId Id { get; set; }
    public string Name { get; set; }
    public string Username { get; set; }
    public string Password { get; set; }
}

当我 运行 上面的代码与 var test = GetUser("john33"); 我得到以下结果:

{ "Name" : "John Smith", "Password" : "o;wdiweo;t87dsklfjdk" }