MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Tri insensible à la casse dans MongoDB

Mise à jour : À partir de maintenant, mongodb a des index insensibles à la casse :

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

coque :

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

Mise à jour : Cette réponse est obsolète, 3.4 aura des index insensibles à la casse. Consultez le JIRA pour plus d'informations https://jira.mongodb.org/browse/SERVER-90

Malheureusement, MongoDB n'a pas encore d'index insensibles à la casse :https://jira.mongodb.org/browse/SERVER-90 et la tâche a été repoussée.

Cela signifie que la seule façon de trier insensible à la casse actuellement est de créer un champ "minuscule" spécifique, en copiant la valeur (en minuscules bien sûr) du champ de tri en question et en triant sur celui-ci à la place.