I got an error about dbpath (/data/db/) does not exist
, but /etc/mongodb.conf
named it dbpath = /var/lib/mongodb.
So, which is the default dbpath for MongoDB?

- 30,738
- 21
- 105
- 131

- 13,869
- 15
- 45
- 50
6 Answers
The default dbpath for mongodb is /data/db
.
There is no default config file, so you will either need to specify this when starting mongod
with:
mongod --config /etc/mongodb.conf
.. or use a packaged install of MongoDB (such as for Redhat or Debian/Ubuntu) which will include a config file path in the service definition.
Note: to check the dbpath and command-line options for a running mongod
, connect via the mongo
shell and run:
db.serverCmdLineOpts()
In particular, if a custom dbpath
is set it will be the value of:
db.serverCmdLineOpts().parsed.dbpath // MongoDB 2.4 and older
db.serverCmdLineOpts().parsed.storage.dbPath // MongoDB 2.6+

- 63,885
- 14
- 149
- 175
-
5To get the path to the database from the mongo shell is, as of 2.6.1: db.serverCmdLineOpts().parsed.storage.dbPath – Marius Jul 31 '14 at 20:45
I have version 2.0.7 installed on Ubuntu and it defaulted to /var/lib/mongodb/
and that is also what was placed into my /etc/mongodb.conf
file.

- 7,143
- 2
- 35
- 41
-
why the book `mongodb:the definitive guide` said that it defaulted to `/data/db`? I don't know why . – holys Oct 05 '12 at 01:54
-
This could be a factor of how the distribution package was built. I installed my copy using `apt-get`. How did you install your copy? Are you still getting the error about dbpath not existing? – HeatfanJohn Oct 05 '12 at 01:59
For a Windows machine start the mongod
process by specifying the dbpath:
mongod --dbpath \mongodb\data
Reference: Manage mongod
Processes

- 30,738
- 21
- 105
- 131

- 6,471
- 6
- 40
- 57
The dbPath
in Mongo can be confusing. If you don't specify the dbPath
at all (neither as command line parameter nor in mongod.conf
file) then it defaults to
/data/db
on Linux and macOS\data\db
on Windows (on current drive)
However, the default mongod.conf
files which comes along the installation and which is used when you start mongod as a service (e.g. systemctl start mongod
) uses these ones:
Platform | Package Manager | Default storage.dbPath |
---|---|---|
RHEL / CentOS and Amazon | yum | /var/lib/mongo |
SUSE | zypper | /var/lib/mongo |
Ubuntu and Debian | apt | /var/lib/mongodb |
macOS | brew | /usr/local/var/mongodb |
Windows | MSI | C:\Program Files\MongoDB\Server\{release}\data\ |
So, you must carefully check what you are using.

- 54,457
- 9
- 76
- 110
-
2The default `mongo` docker image also defaults to `/data/db` as it is started without configuration file by default. – Simon A. Eugster May 24 '22 at 09:23
I depends on the version and the distro.
For example the default download pre-2.2 from the MongoDB site uses: /data/db
but the Ubuntu install at one point used to use: var/lib/mongodb
.
I think these have been standardised now so that 2.2+ will only use data/db
whether it comes from direct download on the site or from the repos.

- 43,242
- 7
- 104
- 146
-
1The difference in the distros is based on the packaging & service definition. Start `mongod` without any parameters and you will get a default dbpath of `/data/db` (the only hardcoded default). – Stennie Oct 05 '12 at 07:22
-
2
The Windows x64 installer shows the a path in the installer UI/wizard.
You can confirm which path it used later, by opening your mongod.cfg
file. My mongod.cfg
was located here C:\Program Files\MongoDB\Server\4.0\bin\mongod.cfg
(change for your version of MongoDB!
When I opened my mongd.cfg
I found this line, showing the default db path:
dbPath: C:\Program Files\MongoDB\Server\4.0\data
However, this caused an error when trying to run mongod
, which was still expecting to find C:\data\db
:
2019-05-05T09:32:36.084-0700 I STORAGE [initandlisten] exception in initAndListen: NonExistentPath: Data directory C:\data\db\ not found., terminating
You could pass mongod
a --dbpath=...
parameter. In my case:
mongod --dbpath="C:\Program Files\MongoDB\Server\4.0\data"

- 18,334
- 18
- 100
- 135