Java версия запроса mon go для извлечения уникальной строки из массива вместе со счетчиком - PullRequest
0 голосов
/ 13 апреля 2020

БД: массив - это просто набор строк, которые могут повторяться. И я пытаюсь получить все строки вместе с подсчетом их использования

db.myCollection.aggregate([ 
{$unwind:"$array"}, 
{$group:{"_id":"$array","count":{$sum:1}}}, 
{$group:{"_id":null,"array_details":{$push:{"name":"$_id", "count":"$count"}}}}, 
{$project:{"_id":0,"array_details":1}} 
])

Пока у меня есть это

Aggregation aggregation = newAggregation(
            Aggregation.match(Criteria.where("array").exists(true)),
            Aggregation.unwind("array"),
            Aggregation.group("array"),



    );

1 Ответ

0 голосов
/ 14 апреля 2020

узнал. Спасибо за предложения, ребята

                Aggregation.match(Criteria.where("array").exists(true)),
            Aggregation.unwind("array"),
            Aggregation.group("array").count().as("count"),
            Aggregation.project().andExpression("_id").as("title")
                    .andExpression("count").as("count")

    );
...