БД: массив - это просто набор строк, которые могут повторяться. И я пытаюсь получить все строки вместе с подсчетом их использования
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"),
);