2011-07-21 21 views
6

Puedo consultar valores sin importar el caso, pero me gustaría consultar las claves insensiblemente, para que los usuarios puedan escribirlas en minúsculas.Búsqueda de clave insensible a mayúsculas/minúsculas de MongoDB

Esto no funciona, porque no es válida JSON:

{ 
    /^lastName$/i: "Jones" 
} 

¿Hay una estrategia que podría utilizar para esto, además de simplemente hacer una nueva colección de claves como valores?

+0

¿Quién ha hecho esto? Es una pregunta razonablemente válida. Restablecer a 0 –

Respuesta

5

Actualmente no hay forma de hacerlo.

MongoDB es "esquema-libre" pero que no debe ser confundido con "no tiene un esquema de". Existe una suposición implícita de que su código tiene cierto control sobre los nombres de las claves que realmente aparecen en el sistema.

Pasemos la pregunta.

  • ¿Hay alguna buena razón para que los usuarios inserten las teclas sensibles a mayúsculas y minúsculas?
  • ¿Puede simplemente colocar todas las teclas en minúscula cuando se insertan?

Una vez más, MongoDB supone que tiene algún conocimiento de las teclas disponibles. Su pregunta implica que no tiene conocimiento de las claves disponibles. Tendrás que cerrar esta brecha.

+0

Gracias por esta respuesta muy clara. – axiomx11

+0

"Actualmente no hay forma de hacer esto". ¿Esta respuesta sigue siendo válida hoy? –

+0

Es probable que siempre sea el caso. Cambiar consultas para admitir rangos en la clave es mucho trabajo. Además, no se puede indexar, que es un gran problema. –

Cuestiones relacionadas