sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB:cómo encontrar documentos ignorando mayúsculas y minúsculas, acentos y porcentaje como lógica (%)

¡Esto funciona para mí!

Simplemente reemplace las vocales con una expresión regular que contenga acentos de vocales. Adicionalmente puede usar $options: 'i' para evitar la distinción entre mayúsculas y minúsculas.

function diacriticSensitiveRegex(string = '') {
         return string.replace(/a/g, '[a,á,à,ä]')
            .replace(/e/g, '[e,é,ë]')
            .replace(/i/g, '[i,í,ï]')
            .replace(/o/g, '[o,ó,ö,ò]')
            .replace(/u/g, '[u,ü,ú,ù]');
    }

find ({ name: { $regex: diacriticSensitiveRegex('pala'), $options: 'i' } });