Предполагается, что у меня есть следующая структура документа.
{
"_id" : "ehbpidnopgpgcghgakiiiallielefonk",
"users" : 11.87,
"ratingTopMost" : {
"average" : NumberInt("4"),
"users" : NumberInt("3174"),
},
"reviews" : {
"average" : NumberInt("5"),
"count" : NumberInt("51"),
"comments" : [
{
"_id" : ObjectId("5b87b1a07267ad001da7e733"),
"name" : "Batista1395",
"comment" : "Great Stackoverflow",
"datum" : ISODate("2017-01-16T00:00:00.000+01:00"),
"rating" : NumberInt("3")
},
{
"_id" : ObjectId("5b87b1a07267ad001da7e732"),
"name" : "Tim Ace",
"comment" : "I Like it.",
"datum" : ISODate("2016-08-17T00:00:00.000+02:00"),
"bewertung" : NumberInt("5")
},
]
},
}
Мне нужно запрос верхний большинство 20 документов по следующим критериям:
- Максимальное значение для rantingTopMost.average
- Самое высокое значение для ratingTopMost.users
- Самое большое значение для reviews.count
- Самое большое значение для reviews.average
- Максимальное значение для пользователей
Приоритет должен быть сверху вниз (от 1 до 5).
Приятно иметь тоже: сортировать встроенные комментарии по дате DESC.