我正在使用 /etc/mongod.conf 中的 UBUNTU,我发现 /var/lib/mongdb 是数据的路径。
我在该目录中找到了一些文件,例如 collectionname.0、.1、.ns。但是当我运行一个非常大的循环(十万)时,我可以使用 mongo shell 将它们取回,但是 mongodb 目录大小并没有增加,所以必须有其他地方存储这些数据
那是什么地方?
我正在使用 /etc/mongod.conf 中的 UBUNTU,我发现 /var/lib/mongdb 是数据的路径。
我在该目录中找到了一些文件,例如 collectionname.0、.1、.ns。但是当我运行一个非常大的循环(十万)时,我可以使用 mongo shell 将它们取回,但是 mongodb 目录大小并没有增加,所以必须有其他地方存储这些数据
那是什么地方?
没有别的地方了。正如@itsbruce 所指出的,在Ubuntu 中它是/var/lib/mongodb。
在非打包安装中(在 Linux 上),即没有 /etc/mongodb.conf 文件,默认为 /data/db/(除非另有说明)。
您可以修改命令行上的开关“--dbpath”,为 mongod 实例指定一个不同的目录来存储其数据。典型位置包括:/srv/mongodb、/var/lib/mongodb 或 /opt/mongodb。
(Windows 系统使用 \data\db 目录。)如果您使用包管理系统安装。
我建议在插入数据时使用此处db.collection.stats
概述的命令来监控集合的大小。该链接还解释了每个字段(在输出中)的含义。
这是 Ubuntu 上 MongoDB 的正确数据位置。MongoDB预先分配文件空间。您确定您生成的数据超出了初始预分配文件的容量吗?尝试清除所有现有数据文件并使用 --noprealloc 标志重新启动 Mongo。然后添加数据。