C# 找到对象并比较后获取值

C# 找到对象并比较后获取值,c#,mongodb,mongodb-.net-driver,C#,Mongodb,Mongodb .net Driver,在数据库中: { "_id" : ObjectId("5f60f699be094b2ee07a3590"), "USERNAME" : "dawdwa", "PASSWORD" : "dwaawaw" } 在c#代码中: var filter=Builders.filter.Eq(“用户名”、“dawdwa”); var doc=collection.

在数据库中:

{
    "_id" : ObjectId("5f60f699be094b2ee07a3590"),
    "USERNAME" : "dawdwa",
    "PASSWORD" : "dwaawaw"
}
在c#代码中:

var filter=Builders.filter.Eq(“用户名”、“dawdwa”);
var doc=collection.Find(filter.FirstOrDefault();
在搜索上面的用户名键时,如何获取Passwork值。 我获取用户输入的用户名值。然后我用上面的用户名查找对象,当我找到要比较的其他用户名时,如何获得密码。
对不起我的英语。谢谢大家。

如果您将文档建模为C#类,那么一旦您将文档从数据库中取出,就可以使用普通属性

类用户
{
公共对象Id{get;set;}
[BsonElement(“用户名”)]
公共字符串用户名{get;set;}
[BsonElement(“密码”)]
公共字符串密码{get;set;}
}
var client=newmongoclient();
var db=client.GetDatabase(“测试”);
var collection=db.GetCollection(“用户”);
var filter=Builders.filter.Eq(x=>x.Username,“dwaawaw”);
var results=await collection.Find(过滤器)
.ToListAsync();
foreach(结果中的var结果)
{
//您可以通过“password”属性访问密码
WriteLine($“{result.Id},{result.Username},{result.Password}”);
}

这还有一个优点,您将有更多类型安全查询。

您需要通过用户名查找密码吗?我已经解决了这个问题。var filter=Builders.filter.Eq(“用户名”,inputName);var doc=collection.Find(filter.FirstOrDefault();doc.GetElement(2).Value.ToString()并比较inputPass与doc.GetElement(2).Value.ToString()我仍然不明白您想要做什么,但无论如何,最好使用:
doc[“whatever”]
而不是这种方式
doc.GetElement(2)
var filter = Builders<BsonDocument>.Filter.Eq("USERNAME", "dawdwa");
 var doc = collection.Find(filter).FirstOrDefault();