MongoDB汇总后对文档进行过滤以根据字段类型进行计数

我已经能够创建一个聚合查询来按我的数据对象的字段进行计数。

db.getcollection.aggregate([
{"$group" : {"_id": "$attr","count": {"$sum" : 1}}},{"$sort": {"count": -1}}
])

这将导致基于{_id,count}的文档以计数降序排序。到目前为止一切都很好。

我接下来要尝试的是filter(匹配)仅计数超过 N (例如100)个阈值的那些文档。但是当我执行时:

db.getcollection.aggregate([
{"$group" : {"_id": "$attr",{"$sort": {"count": -1}},{"$match": {"count": {$gte:["count",100]}}}
])

查询返回空结果。如何做到这一点?我也尝试使用$filter而不是$match来获得成功。

falcomadol 回答:MongoDB汇总后对文档进行过滤以根据字段类型进行计数

请检查您的比赛条件。使用匹配条件后的排序条件错误。

name = Regex.Replace(name,@"([A-Z])([A-Z]+|[a-z0-9_]+)($|[A-Z]\w*)",m =>
            {
                return m.Groups[1].Value.ToLower() + m.Groups[2].Value.ToLower() + m.Groups[3].Value;
            });
本文链接:https://www.f2er.com/3103964.html

大家都在问