проверить строку на наличие слов в базе данных mysql. (в реальном времени) - PullRequest
0 голосов
/ 09 мая 2020

У меня есть база данных mysql, где хранятся слова. Теперь я хочу проверить строку, чтобы увидеть, содержит ли она одно или несколько слов из базы данных.

например:

var desc = 'you are a stupid man';

db.connect((err) => {
    if(err){
        throw err;
    }
    console.log('Connected!');

    let sql = 'SELECT `word` FROM `words`';
    db.query(sql, (err, result) => {
        if(err){
            throw err;
        }
        if(desc.toLowerCase().includes(result)){
            console.log('Dont use words like {word*}');
        }
    });

});

* слово / слова, которые были найдены.

На самом деле мне нужно только сохранить слова из базы данных mysql в массиве или не? но я просто не могу понять, как это работает. Может быть, это что-то очень простое, что я просто не понимаю.

Метод также должен позволять, чтобы когда я вставляю новое слово в базу данных, оно также ищется, даже без перезапуска скрипта

привет, них

1 Ответ

0 голосов
/ 09 мая 2020

Это интересная задача для решения, она учит вас разделенности базы данных и приложения.

Ваш скрипт (при использовании базы данных) будет автоматически извлекать новые записи (используя запрос), поэтому нет беспокоится о поиске по всем позициям. Если вы не сохраняете результаты в переменной / кеше, но я предполагаю, что вы каждый раз используете новый запрос.

Вы можете сохранить таблицу: banned_words с идентификатором и столбцами VARCHAR, тогда вставьте туда любые новые запрещенные слова.

Вы можете использовать здесь MySQL и использовать запрос:

SELECT * FROM words WHERE `word`='*{word}*'

Я бы прочитал ответ в комментариях, это больше укажите c на ваш вопрос, использование IN здесь было бы лучшим выбором, если у вас есть массив строк

Это может быть не точный синтаксис (давно уже работал с SQL), однако должно указать вам правильное направление. Используйте свою базу данных, где это возможно, вы можете напрямую использовать ее, чтобы найти точные данные, которые вам нужны (IE существует ли слово?).

Вы могли даже просто определить, сколько строк существует для использования аналогичного запроса, избегая необходимости извлекать данные. (если вы в основном используете условное выражение, данные в переменной вам не нужны).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...