В моей ситуации условия поиска и записи в базе данных меняются местами. У меня есть база данных, содержащая ключевые слова (обычно 1 или 2 слова), и у меня есть строки (обычно 3-5 слов), которые я хочу сравнить с записями в моей базе данных.
Например, вот два документа (из десятков) тысяч), которые сохраняются в коллекции в базе данных:
{ _id: 1, keyword: "John Smith" },
{ _id: 2, keyword: "Apple" }
Затем у меня есть следующие строки:
"John Smith wins the award",
"Apple.com",
"Apple Keynote Presentation"
Как видите, мои условия поиска и записи в базе данных поменялись местами. Я хочу выполнить поиск в базе данных, чтобы найти, есть ли в моей строке документ со свойством "ключевое слово". Примечание: я имею дело со строками (например, «Apple.com») по одной за раз и предоставил более одной только для иллюстрации.
Я мог бы вынуть все свои документы из базы данных и посмотреть если строка содержит ключевое слово, просматривая каждое ключевое слово, но по соображениям производительности было бы лучше найти совпадение, запрашивающее их в базе данных, если это возможно.
Есть ли способ проверить, содержит ли строка ключевое слово без выведения ключевых слов из базы данных?