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

如何使用Java Spring MongoOperations调用MongoDB的totalsize()方法

解决方案

方案1:通用版本(兼容所有Spring Data MongoDB版本)

db.collection.totalSize() 本质是MongoDB的 collStats 诊断命令返回结果中的totalSize字段,直接通过MongoOperations执行原生命令即可获取,返回值单位为字节:

import org.springframework.data.mongodb.core.MongoOperations;
import org.bson.Document;

// 替换为实际要查询的集合名称
String collectionName = "your_collection_name";

// 构造collStats查询命令
Document collStatsCommand = new Document("collStats", collectionName);
// 执行命令获取返回结果
Document result = mongoOperations.executeCommand(collStatsCommand);
// 提取总存储大小,单位为字节
long totalSize = result.getLong("totalSize");

// 若仅需要统计文档本身占用的大小、不含索引和预留空间,可提取size字段
// long docOnlySize = result.getLong("size");

方案2:Spring Data MongoDB 3.x+ 简化调用

如果你的项目使用的Spring Data MongoDB版本>=3.x,对应的MongoDB Java驱动已经原生封装了totalSize()方法,可以直接获取原生集合实例调用:

import org.springframework.data.mongodb.core.MongoOperations;
import com.mongodb.client.MongoCollection;
import org.bson.Document;

String collectionName = "your_collection_name";
MongoCollection<Document> nativeCollection = mongoOperations.getCollection(collectionName);
long totalSize = nativeCollection.totalSize();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 21:06:04