Wie zu $lookup mit MongoDB C# driver?
Wie führe ich ein $lookup mit der MongoDB C# driver? Ich kann es nicht finden in Ihre Treiber-doc hier:
https://docs.mongodb.org/getting-started/csharp/query/
Aber wenn ich verstehe, das ticket in Ihrer JIRA-richtig, es sollte sein in der 2.2 version des Treibers:
https://jira.mongodb.org/browse/CSHARP-1374
- Ich vermute, Sie beziehen sich auf eine fehlende "Helfer" - Methode, die nur erwartet werden, da die meisten Fahrer der Umsetzung solcher Dinge hinter den features der neuen server-Versionen. Aggregation pipelines als mit normalen Abfragen sind eigentlich nur BSON-Strukturen. Alles, was Sie konstruieren können als BSON-Dokumenten gefüttert werden kann, die als input entweder
.find()
oder.aggregate()
zu können, solange es gültig ist. Also einfach die Leitung zu bauen direkt als BSON-Dokumente. Solange Sie haben eine MongoDB 3.2 server zu unterstützen$lookup
natürlich. Das ist der wichtigste Faktor hier. - Beachten Sie, dass es gibt mehr Beispielen, als hier in Aggregat $lookup mit C#. Zeigt alle Queryable Formen sowie die Fließend Erbauer der Fahrer.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie die AsQueryable () - Erweiterungsmethode auf IMongoCollection<T>, Sie können dann mithilfe des LINQ-Schnittstelle, als ein Beispiel.
Dieser wurde kopiert aus der mongodb csharp-Treiber-Dokumentation hier http://mongodb.github.io/mongo-csharp-driver/2.2/reference/driver/crud/linq/#lookup
otherCollection
?using MongoDB.Driver.Linq;
namespace um diese Arbeit zu machenKönnen Sie auch erreichen, dass Sie mit der Sammlung.Summe().Lookup() Methode, oder indem Sie den lookup um die aggregierten Stufen.
Problem ist-Lookup erfordert Projektion
Dann müssen Sie es zu konvertieren, um JSON -
Dann verwenden BSONSerialize und Steckte es in C# Stark typisierte Auflistung
Dieser arbeitete für mich: