Where can i find mongodb files?

My host came with a mongodb instance and there is no /db directory so now I am wondering what I can do to find out where the data is actually being stored.

asked Aug 30, 2011 at 17:44

Where can i find mongodb files?

Aaron SilvermanAaron Silverman

21.4k21 gold badges79 silver badges102 bronze badges

4

mongod defaults the database location to /data/db/.

If you run ps -xa | grep mongod and you don't see a --dbpath which explicitly tells mongod to look at that parameter for the db location and you don't have a dbpath in your mongodb.conf, then the default location will be: /data/db/ and you should look there.

Where can i find mongodb files?

erip

15.8k10 gold badges63 silver badges118 bronze badges

answered Sep 2, 2011 at 18:00

6

What does your configuration file say?

$ grep dbpath /etc/mongodb.conf

If it is not correct, try this, your database files will be present on the list:

$ sudo lsof -p `ps aux | grep mongodb | head -n1 | tr -s ' ' | cut -d' ' -f 2` | grep REG

It's /var/lib/mongodb/* on my default installation (Ubuntu 11.04).

Note that there is also a /var/lib/mongodb/mongod.lock file holding mongod PID for convenience, however it is located in the data directory - which we are looking for...

answered Aug 30, 2011 at 17:53

Tomasz NurkiewiczTomasz Nurkiewicz

328k68 gold badges691 silver badges667 bronze badges

3

I find db.serverCmdLineOpts() the most robust way to find actual path if you can connect to the server. The "parsed.storage.dbPath" contains the path your server is currently using and is available both when it's taken from the config or from the command line arguments.

Also in my case it was important to make sure that the config value reflects the actual value (i.e. config didn't change after the last restart), which isn't guaranteed by the solutions offered here.

db.serverCmdLineOpts()

Example output:

{
    "argv" : [ 
        // --
    ],
    "parsed" : {
        "config" : "/your-config",
        "storage" : {
            "dbPath" : "/your/actual/db/path",
            // --
        }
    },
    "ok" : 1.0
}

answered Aug 27, 2018 at 9:15

glock18glock18

6205 silver badges11 bronze badges

2

In the newer version of mongodb v2.6.4 try:

grep dbpath /etc/mongod.conf

It will give you something like this:

dbpath=/var/lib/mongodb

And that is where it stores the data.

answered Aug 28, 2014 at 10:19

Where can i find mongodb files?

Tim TrustonTim Truston

4,1306 gold badges46 silver badges59 bronze badges

1

While this question asks about Linux/Unix instances of Mongo, it's one of the first search results regardless of the operating system used, so for future Windows users that find this:

If MongoDB is set up as a Windows Service in the default manner, you can usually find it by looking at the 'Path to executable' entry in the MongoDB Service's Properties:

Where can i find mongodb files?

answered Sep 23, 2016 at 2:34

RobotnikRobotnik

3,4962 gold badges31 silver badges47 bronze badges

2

From my experience the default location is /var/lib/mongodb after I do

sudo apt-get install -y mongodb-org

lrineau

5,7683 gold badges33 silver badges46 bronze badges

answered Jan 6, 2015 at 16:49

zillabunnyzillabunny

3353 silver badges10 bronze badges

1

Actually, the default directory where the mongod instance stores its data is

/data/db on Linux and OS X,

\data\db on Windows

To check the same, you can look for dbPath settings in mongodb configuration file.

  • On Linux, the location is /etc/mongod.conf, if you have used package manager to install MongoDB. Run the following command to check the specified directory:
    grep dbpath /etc/mongodb.conf
    
  • On Windows, the location is /bin/mongod.cfg. Open mongod.cfg file and check for dbPath option.
  • On macOS, the location is /usr/local/etc/mongod.conf when installing from MongoDB’s official Homebrew tap.

The default mongod.conf configuration file included with package manager installations uses the following platform-specific default values for storage.dbPath:

+--------------------------+-----------------+------------------------+
|         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 |
+--------------------------+-----------------+------------------------+

The storage.dbPath setting in the configuration file is available only for mongod.

The Linux package init scripts do not expect storage.dbPath to change from the defaults. If you use the Linux packages and change storage.dbPath, you will have to use your own init scripts and disable the built-in scripts.

Source

answered Feb 10, 2017 at 14:35

Where can i find mongodb files?

1

I found mine here on a OSX system /usr/local/var/mongodb

answered Jun 18, 2016 at 11:38

2

For windows Go inside MongoDB\Server\4.0\bin folder and open mongod.cfg file in any text editor. Then locate the line that specifies the dbPath param. The line looks something similar

dbPath: D:\Program Files\MongoDB\Server\4.0\data

answered Jan 22, 2019 at 9:28

Where can i find mongodb files?

Found it just by poking around in /var/db. Thanks for the help though--I am sure these answers apply to other systems (e.g. Ubuntu) and will help others!

answered Sep 5, 2011 at 20:26

Where can i find mongodb files?

Aaron SilvermanAaron Silverman

21.4k21 gold badges79 silver badges102 bronze badges

If you could somehow locate mongod.log and the do a grep over it

grep dbpath mongod.log

The value for dbpath is the data location for mongodb!! All the best :)

answered Sep 7, 2017 at 12:35

Where can i find mongodb files?

NilotpalNilotpal

2,8934 gold badges30 silver badges46 bronze badges

On MongoDB 4.4+ and on CentOS 8, I found the path by running:

grep dbPath /etc/mongod.conf

answered Dec 30, 2020 at 0:36

jjjjjj

2,4644 gold badges33 silver badges57 bronze badges

When you start it up it shows you. But I don't know if it is something you can do or not on your host. If you have access to the command line and can restart the service, you will get something like:

    2016-11-15T12:57:09.182-0500 I CONTROL  [initandlisten]
 MongoDB starting : pid=16448 port=27017 dbpath=C:\data\db\ 

answered Nov 15, 2016 at 17:59

Where can i find mongodb files?

johnnyjohnny

19k49 gold badges152 silver badges254 bronze badges

Where are MongoDB files stored?

MongoDB requires a data folder to store its files. The default location for the MongoDB data directory is c:\data\db.

How do I view files in MongoDB?

In MongoDB, find() method is used to select documents in a collection and return a cursor to the selected documents. Cursor means a pointer that points to a document, when we use find() method it returns a pointer on the selected documents and returns one by one.

How do I find my MongoDB database?

In MongoDB, you can use the show dbs command to list all databases on a MongoDB server. This will show you the database name, as well as the size of the database in gigabytes. You can select any database using the use statement and work on it.

How do I list all files in MongoDB?

Using Java program Create a MongoDB client by instantiating the MongoClient class. Connect to a database using the getDatabase() method. Get the object of the collection from which you want to retrieve the documents, using the getCollection() method.