Wie schreibe ich eine Abfrage für "orderby" in Mongo-Treiber für C # zu sortieren?

8

Ich versuche, fünf aktuelle Dokumente aus der "Deal" -Kollektion in einer MongoDB mit dem C # -Treiber für MongoDB abzurufen. Ich kann es mit dem folgenden Code tun.

%Vor%

Aber ich möchte nur die letzten 5 Dokumente und FindAll () lädt alle Dokumente in der Sammlung. Ich habe versucht, es mit Find () zu tun, aber es benötigt eine Abfrage als Parameter. Wie kann ich eine Abfrage für "orderby" in Mongo-Treiber für C # zum Sortieren schreiben?

Ссылка hat hier eine ähnliche Frage gestellt. Aber die akzeptierte Antwort funktioniert nicht für mich.

    
har 17.02.2012, 09:00
quelle

5 Antworten

10
%Vor%

ist auch eine korrekte Methode, um dieses Problem zu lösen

    
har 23.02.2012, 09:12
quelle
2

Sieht so aus, als sei die akzeptierte Antwort veraltet oder ich verstehe sie nicht. So bestellen Sie in MongoDb C # Driver 2.0:

%Vor%     
VSO 14.06.2016 17:22
quelle
1

Sie können MongoDB.Driver.Builders.Query.Null als IMongoQuery-Parameter für Find () verwenden und dann SetSortOrder().SetLimit()

Ihr Code kann wie

aussehen %Vor%     
gsagrawal 17.02.2012 10:29
quelle
0

Sie sollten die Find-Methode verwenden. Query.And() in c # entspricht der leeren Abfrage {} in der mongodb-Shell. Das vollständige Beispiel sieht folgendermaßen aus:

%Vor%

Eigentlich, wenn Sie die Sammlung stark typisiert haben, haben Sie die Methode Find(IMongoQuery query) , wenn nicht, dann haben Sie die Methode FindAs<Type>(IMongoQuery query) .

    
Andrew Orsich 17.02.2012 09:32
quelle
0

FindAll ist nur eine Verknüpfung für Find (Query.Null).

Es gibt keinen Grund, warum Sie SetSortOrder und SetLimit nicht mit FindAll verwenden können.

    
Robert Stam 28.02.2012 19:39
quelle

Tags und Links