需求:对表数据进行分组后,根据某个字段去重,然后在count
命令行有 db.collection.distinct("someField")
问:用morphia应该怎么写?或者通过原生的mongodb驱动应该怎么做?
如果用聚合的话,怎么才能当查询的结果为null时统计的数量为0,比如sql中的 isNull(count(1), 0)
阿神2017-04-17 15:17:00
リーリー
これは私が実際に使用したコードです。簡単に言うと、各グループ内の特定のフィールドを重複排除する目的を達成するために group を 2 回使用しました。
参考: http://www.cnblogs.com/lori/p/4597341.html
ringa_lee2017-04-17 15:17:00
質問内のコマンドライン com.mongodb.DBCollection#distinct
に対応する db.collection.distinct("someField")
メソッドを呼び出します。
これによりすべてのデータが返されるため、カウントを取得したいだけの場合は、distinct を使用する必要はありません。
集計を直接使用できます。