如何使用 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;
}
User
class如下:
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" }
有人告诉我如何在 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;
}
User
class如下:
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" }