Как выполнить поиск на Mongodb с помощью подстановочных знаков?

Например, если мое ключевое слово "все", я бы хотел, чтобы MongoDb возвратил все документы в данном поле, содержащие слова "все", такие как "edgar allan poe" или "whitney hall". Как мне это сделать в MongoDb? Я застрял здесь в течение нескольких дней, поэтому любая помощь будет принята с благодарностью:)

Ответ 1

Используя регулярное выражение. У MongoDb есть оператор $regex.

db.authors.find({name: {$regex: 'all', $options: 'i'}});

Операции с регулярными выражениями не могут использовать индексы, поэтому операции find() не будут эффективными. Индекс может использоваться только для префикса (начинается с) и совпадающих с регистром совпадений, таких как этот запрос:

db.authors.find({name: {$regex: '^a'});