У меня есть проблема, которую я пытаюсь полнотекстовый индекс документа, который представляет собой список документов:MongoDB индексация текста массив объектов столбцов
Я сначала вставить в БД:
db.userlikes.insert({
"data": [
{
"category": "Non-profit organization",
"name": "Animals"
},
{
"category": "Community",
"name": "Computers"
}
]
})
Тогда я пытаюсь чтобы создать индекс для столбца категории:
db.userlikes.ensureIndex({"data.category": "text"})
Но когда я пытаюсь найти я не получаю результатов:
db.userlikes.find({"data.category": "profit"})
Нельзя ли индексировать этот путь? Лучше всего вставить каждый документ в массив («данные») отдельно? Это было бы накладными расходами, поскольку я только хочу вставить ответы DB, полученные из API.
Пожалуйста, помогите мне.
Благодаря
Привет, Спасибо за ответ, я также попытался db.userlikes.find ({$ текст: {$ Поиск: «прибыль»}}), но не повезло :(Я до сих пор не получают никаких результатов – EA9
Тогда вы что-то не так. Я создал коллекцию с вашими примерными данными, добавил текстовый индекс через 'db.userlikes.ensureIndex ({" data.category ":" text "})' и отправил запрос 'db.userlikes.find ({$ text: {$ search: "profit"}}) ', что дало мне ожидаемый результат. –