похожий на
-Агрегация: добавьте параметр $unwind для создания индекса массива
-Получить индекс элемента в запросе mongodb
У меня есть этот вариант использования.
Рейтинг самых вкусных фруктов:
{"date": "Jan 1st",
"fruit_ranking": ["Apple", "Orange", "Grape", "Kiwi", "Mango", "Pear"]},
{"date": "Jan 2nd",
"fruit_ranking": ["Orange", "Grape", "Kiwi", "Pear", "Apple"]}
.....
{"date": "Dec 31st",
"fruit_ranking": ["Kiwi", "Apple", "Grape", "Mango", "Pear"]}
Я пытаюсь получить рейтинг «Груши» за каждый день с 1 января по 31 декабря, и прямо сейчас мне нужно вернуть все массивы и выполнить indexOf в моем приложении. Значительно ускорит мое приложение, если есть какой-то способ сделать это в MongoDB и просто вернуть индекс "Pear" вместо всего массива.
Я просмотрел Map Reduce, но документация, похоже, предполагает, что вам нужна функция сокращения, которая не работает.
Также просмотрел структуру агрегации, но этот JIRA предполагает, что он еще не реализован.
Наконец, я изучил скрипты на стороне сервера, но кажется слишком продвинутый для простого варианта использования.
Любая помощь будет принята с благодарностью!