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

MongoDB serverStatus指定返回字段时mem字段无法生效问题排查

MongoDB 8.3+ serverStatus 中 mem 字段无法通过 none:1 筛选返回的问题分析

这不是Bug,是你对serverStatus命令的参数逻辑理解有误。

  • MongoDB 8.3+引入的none:1参数,作用是先禁用所有可选的统计字段组,再通过显式指定字段组来启用你需要的内容。
  • connections和opcounters是独立的顶级统计字段组,所以直接指定connections:1和opcounters:1就能正常返回。
  • 但mem字段并不属于独立的统计字段组,它是storage统计组下的子内容。当你使用none:1后,storage组被默认禁用,仅指定mem:1无法启用该字段,必须显式启用storage组。

修正后的命令应该是:

status = client.admin.command(
{"serverStatus":1, "none": 1, "storage": 1, "connections": 1, "opcounters": 1}
)

执行这个命令后,返回结果中就会包含mem字段(它属于storage组的输出内容)。

如果你只需要mem里的特定子字段,还可以进一步筛选,比如只保留mem.resident和mem.virtual:

status = client.admin.command(
{"serverStatus":1, "none": 1, "storage": {"mem": {"resident": 1, "virtual": 1}}, "connections": 1, "opcounters": 1}
)

内容的提问来源于stack exchange,提问作者Atomic Tom

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.02 03:12:28