问题描述
在数据库中:
{
"_id" : ObjectId("5f60f699be094b2ee07a3590"),"USERNAME" : "dawdwa","PASSWORD" : "dwaawaw"
}
在C#代码中:
var filter = Builders<BsonDocument>.Filter.Eq("USERNAME","dawdwa");
var doc = collection.Find(filter).FirstOrDefault();
通过上面的Username键搜索时,如何获得Passwork值。 我得到用户输入的用户名值。然后,我使用上面的用户名查找对象,当我找到要比较的其他用户名时如何获得密码。 对不起我的英语不好。谢谢大家。
解决方法
如果您将文档建模为C#类,则在将文档从数据库中取出后,就可以使用常规属性。
class User
{
public ObjectId Id { get; set; }
[BsonElement("USERNAME")]
public string Username { get; set; }
[BsonElement("PASSWORD")]
public string Password { get; set; }
}
var client = new MongoClient();
var db = client.GetDatabase("test");
var collection = db.GetCollection<User>("users");
var filter = Builders<User>.Filter.Eq(x => x.Username,"dwaawaw");
var results = await collection.Find(filter)
.ToListAsync();
foreach (var result in results)
{
// You'll be able to access password through the `Password` property
Console.WriteLine($"{result.Id},{result.Username},{result.Password}");
}
这还具有您将拥有更多类型安全查询的优势。