C# 读取字段';MongoDB中带C的s值#

C# 读取字段';MongoDB中带C的s值#,c#,asp.net,mongodb,C#,Asp.net,Mongodb,我有Mongo数据库。我需要在集合中输出字段的值,但只能输出文档。我需要输出文件。名称,文件。电子邮件和文件。密码。谢谢大家! class Program { static void Main(string[] args) { var dbClient = new MongoClient("mongodb://127.0.0.1:27017"); IMongoDatabase db = dbClient.GetDatabase("Authentic

我有Mongo数据库。我需要在集合中输出字段的值,但只能输出文档。我需要输出文件。名称,文件。电子邮件和文件。密码。谢谢大家!

class Program
{
    static void Main(string[] args)
    {
        var dbClient = new MongoClient("mongodb://127.0.0.1:27017");
        IMongoDatabase db = dbClient.GetDatabase("Authentication");
        string[] testlit;
        var cars = db.GetCollection<BsonDocument>("Accounts");
        var documents = cars.Find(new BsonDocument()).ToList();
        foreach (BsonDocument doc in documents)
        {
            Console.WriteLine(doc.ToString());
        }
        Console.ReadLine();
    }
}
类程序
{
静态void Main(字符串[]参数)
{
var dbClient=新的MongoClient(“mongodb://127.0.0.1:27017");
IMongoDatabase db=dbClient.GetDatabase(“身份验证”);
字符串[]testlit;
var cars=db.GetCollection(“账户”);
var documents=cars.Find(new-BsonDocument()).ToList();
foreach(文档中的B文档文档)
{
Console.WriteLine(doc.ToString());
}
Console.ReadLine();
}
}
你可以这样做

var dbClient = new MongoClient("mongodb://127.0.0.1:27017");
IMongoDatabase db = dbClient.GetDatabase("Authentication");
var accounts = db.GetCollection<BsonDocument>("Accounts");
//accounts.InsertOne(new BsonDocument(new Dictionary<string, object>
//{
//    ["Name"] = "Name of account", ["Email"] = "myemail@account.com",
//    ["Password"] = "don't ever do that to me. I hope this is a hash...",
//    ["SomeOtherField"] = "don't need it"
//}));
var projection = Builders<BsonDocument>.Projection.Include("Name").Include("Email").Include("Password").Exclude("_id");
var documents = accounts.Find(new BsonDocument()).Project(projection).ToList();
foreach (BsonDocument doc in documents)
{
    Console.WriteLine($"Name: {doc.GetValue("Name")}\nEmail: {doc.GetValue("Email")}\nPassword: {doc.GetValue("Password")}");
    //Name: Name of account
    //Email: myemail @account.com
    //Password: don't ever do that to me. I hope this is a hash...
}
var dbClient=新的MongoClient(“mongodb://127.0.0.1:27017");
IMongoDatabase db=dbClient.GetDatabase(“身份验证”);
var accounts=db.GetCollection(“accounts”);
//accounts.InsertOne(新的b文档(新的字典
//{
//[“名称”]=“帐户名称”、[“电子邮件”]=”myemail@account.com",
//[“Password”]=“永远不要这样对我。我希望这是一个杂凑…”,
//[“SomeOtherField”]=“不需要它”
//}));
var projection=Builders.projection.Include(“名称”).Include(“电子邮件”).Include(“密码”).Exclude(“id”);
var documents=accounts.Find(new BsonDocument()).Project(projection.ToList();
foreach(文档中的B文档文档)
{
Console.WriteLine($”名称:{doc.GetValue(“名称”)}\n邮件:{doc.GetValue(“电子邮件”)}\n密码:{doc.GetValue(“密码”)});
//姓名:帐户名称
//电子邮件:myemail@account.com
//密码:永远不要这样对我。我希望这是一个杂凑。。。
}
通过投影,字段在数据库中包括/排除。更少的数据传输。如果以后需要这些值,请省略
投影部分。您可以将字段设置为
doc.GetValue