Es gibt ungefähr eine halbe Million RavenDB-Dokumente von Kunden. Eine der Eigenschaften ist "City".. wie kann ich eine LINQ-Abfrage schreiben, um eine Liste aller Vorkommen jeder Stadt mit ihrer Anzahl zu erhalten. Wenn zum Beispiel tausend Kundendokumente den Wert "NY" als Stadt haben, benötige ich eine Liste von Städten mit Zählung wie NY 1000; LA 200, OR 1300, BO 5000 etc..
Das ist das, was ich ursprünglich geschrieben habe.
Dictionary cityStats = session.Query()
.ToList()
.GroupBy(x => x.City)
.OrderBy(x => x.Count())
.ToDictionary(x => x.Key, x => x.Count());
Aber das sieht nicht so aus, als ob es mir genaue Ergebnisse liefert.. also habe ich die Eigenschaft für die maximale Anzahl an Anfragen geändert (ich weiß, dass es nicht empfohlen wird), nur um zu sehen, ob sich das Ergebnis ändert.. aber der Wert für maximal zulässige Anfragen von 500.000 bringt mir auch dasselbe Ergebnis. Ich weiß sicher, dass es ungefähr eine halbe Million Kundendokumente gibt, also müssen sie übereinstimmen.
0 Stimmen
Gibt es einen Grund, warum Sie ToList aufgerufen haben?
0 Stimmen
Ohne ToList kann ich nicht nach Gruppen gruppieren... was wesentlich ist, um nach Städten zu gruppieren und die Anzahl nach Städten zu erhalten.
0 Stimmen
Hi. Mir ist gerade aufgefallen, dass RavenDB SelectMany, GroupBy und Join nicht unterstützt. Falls das hilfreich ist: ravendb.net/docs/client-api/querying/…. Es wird empfohlen, Map/Reduce-Indizes zu verwenden. (Dies ist nur ein Ergebnis meiner Suche. Ich verwende RavenDB nicht.)