Die groß / Kleinschreibung bei der Sortierung in MongoDB
Wie kann ich Sortieren, eine MongoDB-collection nach einem bestimmten Feld, Fall-unempfindlich? Standardmäßig bekomme ich A-Z vor a-z.
Ich bin mit Java.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Update:
Jetzt mongodb haben, der groß-und Kleinschreibung Indizes:
shell:
Update: Diese Antwort ist veraltet, 3.4 wird der groß-und Kleinschreibung Indizes. Blick auf die JIRA-weitere Informationen https://jira.mongodb.org/browse/SERVER-90
Leider MongoDB noch keine groß-und Kleinschreibung Indizes: https://jira.mongodb.org/browse/SERVER-90 und die Aufgabe wurde nach hinten geschoben.
Dies bedeutet, der einzige Weg, um zu Sortieren groß-und Kleinschreibung ist derzeit tatsächlich eine spezifische "untere Gehäuse" - Feld, kopieren Sie den Wert (untere Gehäuse natürlich) des sort-Feldes in Frage und Sortierung auf, dass statt.
case insensitive index
mitreactive-mongo
Treiber ? Ich bin mitscala
mitmongo
.Sortierung funktioniert wie in MongoDB aber Sie können dies tun, on the fly mit Aggregat:
Nehmen Sie die folgenden Daten:
Also mit der folgenden Anweisung:
Würden die Ergebnisse erzielen, wie:
Der tatsächlichen Reihenfolge der Einfügung beibehalten werden für alle Werte, die sich in der gleichen Tonart Umgerechnet.
Dies ist eine Problem für eine Recht lange Zeit auf MongoDB JIRA, aber es ist nun behoben. Werfen Sie einen Blick auf diese release notes für die ausführliche Dokumentation. Sollten Sie verwenden
collation
.1
stattasc
Als jetzt (mongodb 4), können Sie Folgendes tun:
mongo shell:
Mungo:
Hier sind unterstützte Sprachen und Gebietsschemas von mongodb.
Hier ist es in Java. Ich mischte no-args und die erste Schlüssel-val Varianten
BasicDBObject
nur für AbwechslungCode hinzufügen
.collation({'locale':'en'})
geholfen zu lösen mein Problem.Lösen wir dieses problem mit Hilfe von .sort-Funktion in JavaScript-array
Hier ist der code