使用WiredTiger存储引擎时,数据文件数量可通过统计.db目录下以.wt结尾的文件获得,主要包含collection-.wt和index-.wt两类文件,集合数与索引数之和约等于文件总数。

要查看 MongoDB 有多少数据文件,主要取决于你使用的是哪种存储引擎。MongoDB 默认使用 WiredTiger 存储引擎,它将数据存储在多个文件中,但不像旧的 MMAPv1 引擎那样直接暴露大量独立的数据文件。
1. 查看 WiredTiger 存储引擎下的数据文件数量
WiredTiger 将数据写入 WiredTigerLAS.wt、collection-*.wt、index-*.wt 等文件中,默认存放在数据目录(如 /data/db 或配置中的 dbPath)。
你可以通过以下方式查看:
进入 MongoDB 数据目录,列出相关文件:
Linux/macOS 命令行示例:ls /data/db/*.wt | wc -l
这会统计所有以 .wt 结尾的 WiredTiger 表文件数量。
或者更精确地查看 collection 和 index 文件:ls /data/db/collection-*.wtls /data/db/index-*.wt
2. 使用 mongosh(原 mongo shell)查看数据库和集合信息
虽然不能直接看到“数据文件”个数,但可以了解有多少集合和索引,间接反映文件数量:
连接到 mongosh 后执行:use your_database_namedb.getCollectionNames().length // 查看集合数量db.getCollectionNames().forEach(function(collName){ print(collName, db.getCollection(collName).getIndexKeys().length); }) // 查看每个集合的索引数量
每个集合和索引通常对应一个 .wt 文件,所以集合 + 索引总数 ≈ 数据文件总数。
3. 检查 storage engine 配置
确认当前使用的存储引擎:
在 mongosh 中运行:db.serverStatus().storageEngine
如果返回 "name" : "wiredTiger",说明使用的是 WiredTiger。
4. 查看数据目录位置
如果你不确定数据文件存在哪,先查配置:
- 查看 MongoDB 配置文件(通常是 mongod.conf),找
storage.dbPath字段 - 或在 mongosh 中运行:
db.serverCmdLineOpts(),查看参数中的dbpath










