【发布时间】:2017-06-27 17:13:04
【问题描述】:
假设我有这些文件:
{ "_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");
【问题讨论】:
-
对于版本 db.collection.aggregate({$unwind:"$colors"},{$group: { _id:"$colors",count:{$sum:1} }})
-
我用的是3.2版本,但是我是mongodb新手,能不能给我一个更清楚的解释@Veeram
标签: java sql mongodb search count