简体   繁体   English

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

[英]how to use projection in mongodb using csharpdrivers

anyone tell me how to retrive data from mongodb using projection in mongocsharp drivers??? 有人告诉我如何使用mongocsharp驱动程序中的投影从mongodb检索数据吗?

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

I want to omit _id... how to insert projection in this code??? 我想省略_id ...如何在此代码中插入投影???

You can do it like this: 您可以这样做:

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

The User class is as follows: User类如下:

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

When I run the above code with var test = GetUser("john33"); 当我使用var test = GetUser("john33");运行上述代码时var test = GetUser("john33"); I get the following result: 我得到以下结果:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM