Soy un novato en mongodb. Busco una solución en stackoverflow pero no encontré una solución para mí. No puedo ver mis datos json. Aquí está mi bloque de código:
puntuación de clase { tipo de cadena pública { obtener; colocar; }
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)); } }Muestra 20 columnas, que es el recuento correcto para mi búsqueda, pero todas ellas son m101.Student. ¿Cómo puedo arreglar esto?
Te pierdes la proyección. Debe crear un generador de proyección y agregarlo a su método de búsqueda de la siguiente manera:
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));