Предполагая, что у меня есть эти документы:Как мы можем подсчитать количество элементов в arraylist из разных документов в mongodb java?
{ "_id" : 1, "item" : "ABC1", "description" : "product 1", colors: [ "blue", "black", "red" ] }
{ "_id" : 2, "item" : "ABC2", "description" : "product 2", colors: [ "blue", "purple" ] }
{ "_id" : 3, "item" : "XYZ1", "description" : "product 3", colors: [ "red", "yellow"] }
Результата я хотел бы это
blue : 2
red : 2
black : 1
purple : 1
yellow : 1
возможно ли это выполнить с помощью MongoDB или мне нужно вручную реализовать после получения цветов массива в Java? Советы или любая помощь были бы очень полезными.
Это, как я получить базу данных и коллекции
MongoClient mongoClient = new MongoClient("localhost", 27017);
MongoCollection<Document> collection = mongoClient.getDatabase("tweets")
.getCollection("tweet");
Для версий <= 3,2 вы можете использовать 'db.collection.aggregate ({$ раскрутку: "$ цвета"}, {$ группа: {_id: "$" цвета, count: {$ sum: 1}}}) ' – Veeram
Я использую версию 3.2, но я новичок в mongodb, не могли бы вы дать мне более четкое объяснение @Veeram –