MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Sortierung ohne Berücksichtigung der Groß-/Kleinschreibung in MongoDB

Aktualisierung: Ab sofort hat mongodb Indizes ohne Berücksichtigung der Groß-/Kleinschreibung:

Users.find({})
  .collation({locale: "en" })
  .sort({name: 1})
  .exec()
  .then(...)

Schale:

db.getCollection('users')
  .find({})
  .collation({'locale':'en'})
  .sort({'firstName':1})

Aktualisierung: Diese Antwort ist veraltet, 3.4 wird Indizes ohne Berücksichtigung der Groß-/Kleinschreibung haben. Weitere Informationen finden Sie in JIRA https://jira.mongodb.org/browse/SERVER-90

Leider hat MongoDB noch keine Indizes, bei denen die Groß-/Kleinschreibung nicht berücksichtigt wird:https://jira.mongodb.org/browse/SERVER-90, und die Aufgabe wurde verschoben.

Dies bedeutet, dass die einzige Möglichkeit, Groß- und Kleinschreibung zu berücksichtigen, derzeit darin besteht, tatsächlich ein bestimmtes "kleingeschriebenes" Feld zu erstellen, den Wert (natürlich kleingeschrieben) des betreffenden Sortierfelds zu kopieren und stattdessen danach zu sortieren.