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

MongoDB:come trovare documenti ignorando la distinzione tra maiuscole e minuscole, accenti e percentuale simile alla logica (%)

Questo funziona per me!

Basta sostituire le vocali con una regex che contiene vocali accentate. Inoltre puoi usare $options: 'i' per evitare la distinzione tra maiuscole e minuscole.

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' } });