tokenizaSubConsulta method
Tokeniza una subconsulta para buscar en un campo específico.
Si el campo es numérico, se busca por igualdad.
Si el campo es de texto, se busca por coincidencia parcial.
clave: Clave del campo a buscar.
value: Valor de búsqueda.
Implementation
Map<String, dynamic> tokenizaSubConsulta(
Map<String, dynamic> esquema, String clave, dynamic value) {
TipoDato tipoDato =
FlutterUtilsProvider.obtenerTipoDatoEnEsquema(esquema, clave);
dynamic valor =
FlutterUtilsProvider.convertirValorPorTipo(esquema, clave, value);
switch (tipoDato) {
case TipoDato.decimal:
return {FlutterUtilsProvider.agregaPrefijoData(clave): valor};
case TipoDato.entero:
return {FlutterUtilsProvider.agregaPrefijoData(clave): valor};
case TipoDato.fecha || TipoDato.fechaHora:
return {
FlutterUtilsProvider.agregaPrefijoData(clave): {'\$date': valor}
};
default:
if (valor is List) {
return {
FlutterUtilsProvider.agregaPrefijoData(clave): {'\$in': valor}
};
}
return {
FlutterUtilsProvider.agregaPrefijoData(clave): {
'\$regex': '.*$value.*',
///Este parametro es para que la busqueda sea insensible a mayusculas y minusculas
'\$options': 'i'
}
};
}
}