2015-04-28 19 views
5

Ich habe eine Sammlung von Dokumenten mit ein paar kleinen Eigenschaften und einer riesigen Eigenschaft (ein binäres 10MB oder so PDF-Dokument). Ich verwende den neuesten stabilen C# -Treiber, der am 02.04.2015 veröffentlicht wurde. Gibt es eine Möglichkeit, eine Liste dieser Dokumente mit all den kleinen Eigenschaften zu erhalten, aber ohne die riesige binäre?Serverseitige Projektion mit MongoDB C# -Treiber 2.0

Antwort

4

Sie würden wollen, IFindFluent.Find verwenden und dann verwenden IFindFluent.Projection und Builders.Projection.Exclude diese Eigenschaft auszuschließen:

var query = collection. 
    Find(filter). 
    Project<Document>(Builders<Document>.Projection.Exclude(doc => doc.HugeBlob)); 
var results = await query.ToListAsync(); 
+0

ich irgendwo gelesen, dass Projektion ist Client-Seite und tut die Last beeinflussen, die von thr mongoDb..can kehrt bestätigen das passiert auf der Seite von Mongo? –

+1

@OriRefael ja. Sie können die eventuelle serverseitige Abfrage auch mit 'query.ToString' sehen. – i3arnon

+0

@ i3arnon - Können Sie bitte die folgende Frage beantworten - http://stackoverflow.com/questions/37801269/step-by-step-single-where-klause-query-in-a-embedded-document-of-mongodb- sammeln/37802879? noredirect = 1 # comment63070962_37802879 –

Verwandte Themen