Преобразование запроса MongoDB в Spring - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть большой скрипт go, работающий с весенней загрузкой. Мне нужно выполнить его как собственный запрос или с использованием структуры агрегации. Я могу написать lookup, unwind, group в структуре агрегации. Но я не знаю, как написать вложенный $addFields, $map, $reduce, $arrayToObject, $floor, $multiply и $divide.

Например ,

{
    $lookup: {} //lookup script
},
{
    $unwind // unwind script
},
{
    $addFields: {
      ans: {
        $reduce: {
          input: {
            $map: {
              input: "$ans",
              in: { $objectToArray: "$$this" }
            }
          },
          initialValue: [],
          in: {
            $concatArrays: [
              "$$value",
              "$$this"
            ]
          }
        }
      }
    }
},
{
    $group : // group
},
{
    $addFields: {
      ans: {
        $map: {
          input: "$ans",
          in: {
            $arrayToObject: [
              [
                {
                  k: "$$this.v",
                  v: "$$this.count"
                },
                {
                  k: "percentage",
                  v: {
                    $floor: {
                      $multiply: [
                        {
                          $divide: [
                            "$$this.count",
                            "$total"
                          ]
                        },
                        100
                      ]
                    }
                  }
                }
              ]
            ]
          }
        }
      }
    }
 }

I = f это сложно, пожалуйста, дайте мне знать, как я могу написать собственный запрос (скопировать этот запрос и вставить в репозиторий или что-то в этом роде)?

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