Как получить документы, отфильтрованные по самому верхнему и сортировать вложенный результат - PullRequest
0 голосов
/ 01 сентября 2018

Предполагается, что у меня есть следующая структура документа.

{
    "_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 документов по следующим критериям:

  1. Максимальное значение для rantingTopMost.average
  2. Самое высокое значение для ratingTopMost.users
  3. Самое большое значение для reviews.count
  4. Самое большое значение для reviews.average
  5. Максимальное значение для пользователей

Приоритет должен быть сверху вниз (от 1 до 5).

Приятно иметь тоже: сортировать встроенные комментарии по дате DESC.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...