2017-01-26 2 views
1

Ich bin ein Neuling in Mongodb. Ich suche nach einer Lösung in stackoverflow, aber ich habe keine Lösung für mich gefunden. Ich kann meine JSON-Daten nicht sehen. Hier ist mein Codeblock:MongoDB find-Methode gibt className zurück

Klasse Punktzahl { öffentliche String-Typ {bekommen; einstellen; }

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)); 
    } 
} 

Es zeigt 20 Spalten, die die korrekte Zählung für meine Suche ist aber alle von ihnen sind m101.Student. Wie kann ich das beheben?

Antwort

2

Sie verpassen die Projektion. Sie müssen einen Projektions-Builder erstellen und ihn wie folgt an Ihre Suchmethode anhängen:

+0

danke. aber was ich will, ist alle Hausaufgaben-Dokumente in Partituren zu bekommen. Dies gibt nur einen zurück. Ich muss etwas mit diesen Daten machen. –

+0

ah Entschuldigung, es ist meine Schuld. das hat super geklappt. Vielen Dank. –

Verwandte Themen