是否有一个查询,用于计算一个字段在DB中包含多少不同的值.
f、 e我有一个国家字段,有8种国家值(西班牙、英国、法国等)
如果有人在新国家/地区添加更多文档,我希望查询返回9.
还有比分组和计数更简单的方法吗?
是否有一个查询,用于计算一个字段在DB中包含多少不同的值.
f、 e我有一个国家字段,有8种国家值(西班牙、英国、法国等)
如果有人在新国家/地区添加更多文档,我希望查询返回9.
还有比分组和计数更简单的方法吗?
MongoDB有一个distinct
command,它返回一个字段的不同值数组;可以判断数组的长度以获取计数.
还有一个shell db.collection.distinct()
助手:
> db.countries.distinct('country');
[ "Spain", "England", "France", "Australia" ]
> db.countries.distinct('country').length
4
正如MongoDB文档中指出的:
结果不得大于最大BSON大小(16MB).如果结果超过最大BSON大小,请使用聚合管道使用
$group
运算符检索不同的值,如Retrieve Distinct Values with the Aggregation Pipeline中所述.