MongoDB LinQ "Select" -Methode wird wirklich nur eine Teilmenge von Feldern abrufen?

Beim Durchsuchen des Internets nach einer Teilmenge von Feldern in MongoDB unter Verwendung des offiziellen C # -Treibers (aber unter Verwendung von LinQ als Basisarchitektur) fand ich heraus, wie dies in der MongoDB-Shell funktioniert.

// selecting only "field" of a collection
db.collection.find( { field : 'value' }, { field: 1 } ); 

Dann fand ich bei C # LinQ das TutorialSelect Methode, die dazu äquivalent ist:

collection.AsQueryable<T>().Select(x => new { x.field });

Das Tutorial sagt jedoch die Methode "wird verwendet, um einen neuen Ergebnistyp aus den passenden Dokumenten zu projizieren".

Wie kann sichergestellt werden, dass diese Methode nur die Teilmenge der Felder und nicht das gesamte Ergebnis abruft und dann nur die Teilmenge in einem neuen Objekt auswählt?

Baut der Treiber den Abfragebefehl auf, bevor er die Ergebnisse abruft?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage