MongoDB предоставляет текстовые индексы для поддержки запросов текстового поиска по строковому содержимому.в текстовые индексы может входить любое поле, значением которого является строка или массив строковых элементов.
В вашем случае вы можете запустить в оболочке mongo следующее, чтобы разрешить текстовый поиск по полям имени автора и издателя:
db.test.createIndex({ 'Author.name': 'text', 'Author.last_name': 'text', Publisher: 'text'})
Затем вы можете использовать следующий запрос, чтобы найти все документы, содержащие любые термины из списка «joe», «my», «book» и «tia».
db.test.find({ $text: { $search: "joe my book tia" } })