You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用MongoDB Compass聚合构建器统计totalAssets为数字的文档总数

统计MongoDB中'totalAssets'为数字类型的文档数量

正确聚合管道配置

你可以通过两个阶段的聚合管道实现需求:

  1. $match 阶段:过滤目标文档
    先筛选出包含totalAssets字段且类型为数字的文档。MongoDB数字类型涵盖double(类型码1)、int(16)、long(18)、decimal(19),用$type操作符匹配:

    {
      "$match": {
        "totalAssets": {
          "$exists": true,
          "$type": { "$in": [1, 16, 18, 19] }
        }
      }
    }
    

    若只需匹配常规数值类型(double、int),可简化为:

    {
      "$match": {
        "totalAssets": { "$type": "number" }
      }
    }
    
  2. $count 阶段:统计文档数量
    直接统计过滤后的文档总数:

    { "$count": "numericTotalAssetsCount" }
    

MongoDB Compass操作步骤

  • 打开聚合面板,点击Add Stage添加第一个阶段,选择$match,粘贴上述$match配置内容。
  • 再添加第二个阶段,选择$count,输入统计结果的字段名(如numericTotalAssetsCount)。
  • 点击Run即可获取统计结果。

对你当前查询的修正说明

从截图来看,你当前的聚合逻辑存在偏差:先使用$project提取字段的操作没必要,且后续$group未关联正确的过滤条件。正确逻辑应是先通过$match精准过滤目标文档,再执行统计,这样既高效又准确。

内容的提问来源于stack exchange,提问作者andrew kim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 14:31:00