假设我有这些文件:我们如何计算mongodb java中不同文档中arraylist的项目数量?
{ "_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: “$颜色”,计数:{$ sum:1}}}) ' – Veeram
我使用的是3.2版本,但我是mongodb的新手,能否给我一个更清晰的解释@Veeram –