mongodb框架morphia中怎么去重?

需求:对表数据进行分组后,根据某个字段去重,然后在count

命令行有 db.collection.distinct("someField")

问:用morphia应该怎么写?或者通过原生的mongodb驱动应该怎么做?

如果用聚合的话,怎么才能当查询的结果为null时统计的数量为0,比如sql中的 isNull(count(1), 0)


慕村9548890
浏览 1126回答 2
2回答

郎朗坤

调用com.mongodb.DBCollection#distinct方法,对应问题中的命令行 db.collection.distinct("someField")。这样会把所有的数据都返回,所以如果只是为了得到count,没必要用distinct。可以直接用aggregate。db.collection.aggregate(     [{             $group:{                      _id:"$someField",                        count:{$sum:1}         }     }] )
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MongoDB