Если у вас "json" это пришедший из postgress'овского jsonb поля - то postgress умеет делать запросы внутри jsonb:
https://hackernoon.com/how-to-query-jsonb-beginner... (первая ссылка в гугле).
Если такой вариант не подходит очевидная оптимизация - высунуть создание регэкспа из цикла. Хотя я не уверен, что какой-нить v8 это несоптимизировал самостоятельно. (на моей машине это сокращает время втрое примерно)
Какой у вас объем данных? Поиск по множеству строк не должен занимать много времени. И пока у вас не миллионы этих строк все должно быть быстро. Эквивалентный код на моей машине выполняет проход регэкспом по массиву из миллиона строк менее чем за 100мс. Если у вас бОльшие объемы или хотя бы сопоставимые - вы что-то делаете не так :) Ну или если вы ожидаете обработку такого объема данных моментально, то стоит скорректировать ожидания.
P.s. это нода или браузер? Если нода - то пляски на стороне js все равно не имеют смысл так как радикально ускорить не получится, а вот 2-3 пользователя ищущие что-то вам все положат.