gpt4 book ai didi

c# - MongoDB 查找方法返回类名

转载 作者:太空宇宙 更新时间:2023-11-03 21:04:53 26 4
gpt4 key购买 nike

我是 mongodb 的新手。我在 stackoverflow 中搜索解决方案,但没有找到适合我的解决方案。我看不到我的 json 数据。这是我的代码块:

类(class)成绩 { 公共(public)字符串类型 { 得到;放;

    public double score { get; set; }
}

class Student
{
public int _id { get; set; }

public string name { get; set; }

public List<Score> scores { get; set; }
}

class Program
{
static void Main(string[] args)
{
MainAsync(args).Wait();
Console.WriteLine();
Console.WriteLine("press enter");
Console.ReadLine();
}

static async Task MainAsync(string[] args)
{
var client = new MongoClient();
var db = client.GetDatabase("school");
var col = db.GetCollection<Student>("students");

var filter = Builders<Student>.Filter.Eq("scores.type", "homework");
await col.Find(filter)
.ForEachAsync(c => Console.WriteLine(c));
}
}

它显示 20 列,这是我搜索的正确计数,但它们都是 m101.Student。我该如何解决这个问题?

最佳答案

你错过了投影。您需要创建一个投影构建器并将其附加到您的 Find 方法,如下所示:

 var filter = Builders<Student>.Filter.Eq("scores.type", "homework");
var projection = Builders<Student>.Projection.Include("scores.$");
await col.Find(filter)
.Project(projection)
.ForEachAsync(c => Console.WriteLine(c));

关于c# - MongoDB 查找方法返回类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41874956/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com