需求:对表数据进行分组后,根据某个字段去重,然后在count
命令行有 db.collection.distinct("someField")
db.collection.distinct("someField")
问:用morphia应该怎么写?或者通过原生的mongodb驱动应该怎么做?
如果用聚合的话,怎么才能当查询的结果为null时统计的数量为0,比如sql中的 isNull(count(1), 0)
isNull(count(1), 0)
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
リーリー
これは私が実際に使用したコードです。簡単に言うと、各グループ内の特定のフィールドを重複排除する目的を達成するために group を 2 回使用しました。
参考: http://www.cnblogs.com/lori/p/4597341.html
質問内のコマンドライン com.mongodb.DBCollection#distinct に対応する db.collection.distinct("someField") メソッドを呼び出します。 これによりすべてのデータが返されるため、カウントを取得したいだけの場合は、distinct を使用する必要はありません。 集計を直接使用できます。
com.mongodb.DBCollection#distinct
リーリー
これは私が実際に使用したコードです。簡単に言うと、各グループ内の特定のフィールドを重複排除する目的を達成するために group を 2 回使用しました。
参考: http://www.cnblogs.com/lori/p/4597341.html
質問内のコマンドライン
リーリーcom.mongodb.DBCollection#distinct
に対応するdb.collection.distinct("someField")
メソッドを呼び出します。これによりすべてのデータが返されるため、カウントを取得したいだけの場合は、distinct を使用する必要はありません。
集計を直接使用できます。