¿Hay alguna forma de consultar un valor insensible a mayúsculas y minúsculas sin usar map/reduce?consulta de mayúsculas y minúsculas en mongodb
Respuesta
Suponga que tiene documento que contiene tag
campo y que desea buscar en ella
Tags
{
tag,
...
}
La primera opción es el uso de expresiones regulares (pero trabajar lenta como dijo @RestRisiko):
db.tags.find({ "tag" : { "$regex" : "C#", "$options" : "-i" } })
La segunda opción es crear otro campo en minúsculas (y en mongodb de la mejor manera):
Tags
{
tag,
tagLower,
..
}
Y el uso de find
como de costumbre:
db.tags.find({ "tagLower" : "c#"})
va a trabajar más rápido, ya que el código anterior se puede utilizar el índice para la búsqueda.
Tiene que normalizar los datos que se consultarán. Usar una expresión regular para búsqueda insensible a mayúsculas/minúsculas podría funcionar también y no usará índices. Entonces, tu única opción es normalizar. Si necesita preservar el estado original, necesita desnormalizar los datos y almacenar los valores normalizados en una columna dedicada del documento.
+1 por la respuesta correcta, acabo de agregar un ejemplo en mi respuesta. –
Al usarlo con Node.js, es mejor crear un objeto RegEx en la consulta.
Room.findOne({'name': new RegExp(roomName, 'i')}, {}, function(err, room) {
...
Use expresiones regulares que coincidan con las de abajo. La 'i' muestra insensibilidad a mayúsculas y minúsculas.
var collections = mongoDatabase.GetCollection("Abcd");
var queryA = Query.And(
Query.Matches("strName", new BsonRegularExpression("MSID", "i")),
Query.Matches("strVal", new BsonRegularExpression("154800", "i")));
var queryB = Query.And(
Query.Matches("strName", new BsonRegularExpression("Operation","i")),
Query.Matches("strVal", new BsonRegularExpression("8221", "i")));
var getA = collections.Find(queryA);
var getB = collections.Find(queryB);
- 1. MySQL mayúsculas y minúsculas consulta
- 2. css mayúsculas y minúsculas
- 3. Búsqueda de clave insensible a mayúsculas/minúsculas de MongoDB
- 4. .NET HttpSessionState mayúsculas y minúsculas
- 5. Cambio de mayúsculas y minúsculas en Vim
- 6. Conversión de mayúsculas y minúsculas en JavaScript
- 7. Ignorar mayúsculas y minúsculas en Python Strings
- 8. Convertir a mayúsculas y minúsculas en Java
- 9. ignorar mayúsculas y minúsculas en regex.replace?
- 10. Explotar una cadena en mayúsculas y minúsculas?
- 11. Búsqueda insensible a mayúsculas y minúsculas con $ en
- 12. ordenación de lista insensible a mayúsculas y minúsculas, sin minúsculas?
- 13. OData y distinción entre mayúsculas y minúsculas
- 14. minúsculas y mayúsculas nombre de archivo
- 15. VB6 Editor cambia de mayúsculas y minúsculas.
- 16. interruptor de mayúsculas y minúsculas, php
- 17. ¿Cambia la intercalación de SQL Server a mayúsculas o minúsculas de mayúsculas y minúsculas?
- 18. Regex insensible a mayúsculas y minúsculas en javascript
- 19. ¿PHP no distingue entre mayúsculas y minúsculas?
- 20. ¿F es sensible a mayúsculas y minúsculas?
- 21. Teclas sin mayúsculas y minúsculas para NSDictionary
- 22. insensibilidad a mayúsculas/minúsculas
- 23. Una lista insensible a mayúsculas y minúsculas
- 24. expresiones regulares entre mayúsculas y minúsculas
- 25. NSMutableArray clasificación - entre mayúsculas y minúsculas
- 26. Lucene, búsqueda sensible a mayúsculas y minúsculas
- 27. Rieles - Diseñar, correo electrónico mayúsculas y minúsculas
- 28. escritura entre mayúsculas y minúsculas versión
- 29. mayúsculas y minúsculas del partido por RegExp
- 30. Cadena insensible a mayúsculas y minúsculas :: find
No funcionará si la etiqueta contiene signo de interrogación. –