Другие ответы, предлагающие сопоставление границ слов, являются аккуратными, но будут означать, что индекс не используется эффективно. Если вам нужны быстрые поисковые запросы, вы можете захотеть добавить поле «слова» с каждым словом, то есть
{sentence: "This is a dog",
words: ["This", "is", "a", "dog"]}
. Поместив индекс в поле words
, вы можете пойти назад к использованию:
{words: new RegExp('^'+key,'gi')}
и key
of the do теперь будут соответствовать этому объекту и использовать индекс.