У меня сложный запрос с использованием агрегатной среды и предложения $ sort, в результате которого по некоторым критериям получается список пользователей в порядке от лучшего к худшему.Например,
const result = [u1, u2, u3];
Так что это можно увидеть как:
User Rank
u1 1
u2 2
u3 3
У меня есть коллекция с полями user, location.Я хочу создать запрос так, чтобы я мог добавить ранг в коллекцию как часть этапа проецирования запроса:
User Location UserRank
u1 China 1
u1 Brazil 1
u2 China 2
u3 Australia 3
, а затем сгруппировать с min, чтобы получить:
Location BestUserRank
China 1
Brazil 1
Australia 3
, что было бы легко сделать с помощью min () в статистической функции, но я не знаю, как в первую очередь объединить эти ранги с запросом.
Я чувствую, что должен быть в состоянииdo:
$project: {
user: 1,
location: 1,
rank: { $rank: { field: '$user', dictionary: rankDictionary }
}
Но из того, что я могу сказать, mongodb не позволяет вам делать что-либо подобное.