sql >> Database teknologi >  >> NoSQL >> MongoDB

Uafhængig af store og små bogstaver sortering i MongoDB

Opdatering: Mongodb har indtil videre ufølsomme indekser:

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

skal:

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

Opdatering: Dette svar er forældet, 3.4 vil have ufølsomme indekser. Se til JIRA for mere information https://jira.mongodb.org/browse/SERVER-90

Desværre har MongoDB endnu ikke store og små bogstaver:https://jira.mongodb.org/browse/SERVER-90 og opgaven er blevet skubbet tilbage.

Dette betyder, at den eneste måde at sortere ufølsomme store bogstaver på i øjeblikket er ved faktisk at oprette et specifikt felt med små bogstaver, kopiere værdien (selvfølgelig med små bogstaver) af det pågældende sorteringsfelt og sortere på det i stedet.



  1. Tjek, om MongoDB upsert foretog en indsættelse eller en opdatering

  2. Mongoose 'statiske' metoder vs. 'instans' metoder

  3. MongoDB atomic findOrCreate:findOne, indsæt hvis den ikke findes, men opdater ikke

  4. MongoCollection versus DBCollection java