Install, Start and Stop MongoDB on Windows

In this MongoDB tutorial, I am listing down the steps to install MongoDB on Windows machine. Also, we will learn about a few basic operations related to starting and shutting down MongoDB.

1. Download MongoDB

There are three builds of MongoDB for Windows:

To find which version of Windows you are running, enter the following command in the command prompt:

c:\> wmic os get osarchitecture

More download options are given in official website of MongoDB.

2. How to Install MongoDB

The links above will download zip files you extract directly onto any place in the system of your choice. I have extracted them in “d:/mongodb“. So, all code samples in this post and future posts will refer to this location.

It is recommended to add d:/mongodb/bin to Windows environment variable so that you can directly access MongoDB’s commands in the command prompt.

Also, please create the following directories inside d:/mongodb:

  • D:\mongodb\data
  • D:\mongodb\log

3. Create mongo.config Configuration File

This is an important step before marching ahead. Create a normal text file in location d:/mongodb and save it with the name mongo.config. Now place the below configuration options in the file. You can change the option’s values at your will.

##Which IP address(es) mongod should bind to.
bind_ip = 127.0.0.1

##Which port mongod should bind to.
port = 27017

##I set this to true, so that only critical events and errors are logged.
quiet = true

##store data here
dbpath=D:\mongodb\data

##The path to the log file to which mongod should write its log messages.
logpath=D:\mongodb\log\mongo.log

##I set this to true so that the log is not overwritten upon restart of mongod.
logappend = true

##log read and write operations
diaglog=3

##It ensures write durability and data consistency much as any journaling scheme would be expected to do.
##Only set this to false if you don’t really care about your data (or more so, the loss of it).
journal = true

4. How to Start and Shutdown MongoDB Server

To start the MongoDB server, use the mongod command in the command prompt:

D:\mongodb\bin>mongod --config D:\mongodb\mongo.config --journal

2014-05-25T16:51:18.433+0530 warning: --diaglog is deprecated and will be removed in a future release
2014-05-25T16:51:18.434+0530 diagLogging level=3
2014-05-25T16:51:18.435+0530 diagLogging using file D:\mongodb\data/diaglog.5381d22e

To connect to MongoDB from the command prompt, use the mongo command:

D:\mongodb\bin>mongo

MongoDB shell version: 2.6.1
connecting to: test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see   https://www.mongodb.com/docs/
Questions? Try the support group   https://groups.google.com/forum/!forum/mongodb-user
Server has startup warnings:
2014-05-25T16:52:09.158+0530 [initandlisten]
2014-05-25T16:52:09.158+0530 [initandlisten] ** NOTE: This is a 32 bit MongoDB binary.
2014-05-25T16:52:09.158+0530 [initandlisten] **       32 bit builds are limited to less than 2GB of data (or less with --jour
nal).
2014-05-25T16:52:09.158+0530 [initandlisten] **       See https://www.mongodb.com/docs/manual/faq/fundamentals/
2014-05-25T16:52:09.158+0530 [initandlisten]

To shutdown the MongoDB server, you must be an authorized user. So after getting auth complete, use the below command in the command prompt:

> use admin
switched to db admin

> db.shutdownServer()

2014-05-25T19:55:25.221+0530 DBClientCursor::init call() failed
server should be down...
2014-05-25T19:55:25.224+0530 trying reconnect to 127.0.0.1:27017 (127.0.0.1) failed
2014-05-25T19:55:26.225+0530 warning: Failed to connect to 127.0.0.1:27017, reason: errno:10061 No connection could be made b
ecause the target machine actively refused it.
2014-05-25T19:55:26.225+0530 reconnect 127.0.0.1:27017 (127.0.0.1) failed failed couldn't connect to server 127.0.0.1:27017 (
127.0.0.1), connection attempt failed

> quit()

5. How to Install MongoDB Windows Service

To install the window service, use the below command:

mongod --config D:\mongodb\mongo.config --install

Start the windows service from the command prompt:

net start MongoDB

Stop the windows service from the command prompt:

net stop MongoDB

Remove the windows service:

mongod --remove

Sample run of all above four commands is below:

D:\mongodb\bin>mongod --config D:\mongodb\mongo.config --install

2014-05-25T20:07:41.191+0530 warning: --diaglog is deprecated and will be removed in a future release
2014-05-25T20:07:41.192+0530 diagLogging level=3
2014-05-25T20:07:41.193+0530 diagLogging using file D:\mongodb\data/diaglog.53820035
 
D:\mongodb\bin>net start MongoDB
 
The MongoDB service was started successfully.
 
D:\mongodb\bin>net stop MongoDB

System error 109 has occurred.
 
The pipe has been ended.
 
D:\mongodb\bin>mongod --remove

2014-05-25T20:09:32.514+0530
2014-05-25T20:09:32.515+0530 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you wa
nt durability.
2014-05-25T20:09:32.515+0530
2014-05-25T20:09:32.518+0530 Trying to remove Windows service 'MongoDB'
2014-05-25T20:09:32.520+0530 Service 'MongoDB' removed

6. Download/Use MongoDB Java Driver

Download the MongoDB java driver (mongo-java-driver-2.9.3.jar) from this download link. It’s a jar file you need to include in your classpath or copy in /lib folder in the project where you want to use MongoDB.

7. Verify MongoDB Connection from Java Application

To verify that MongoDB has been installed and working properly, execute the below program:

import java.net.UnknownHostException;
import java.util.List;
import com.mongodb.MongoClient;
 
public class VerifyMongoDBInstallation {

  public static void main(String[] args) throws UnknownHostException {

    MongoClient mongo = new MongoClient("localhost", 27017);
 
    List<String> dbs = mongo.getDatabaseNames();
    for (String db : dbs) {
      System.out.println(db);
    }
  }
}

That’s all for MongoDB windows installation, startup and shutdown operations. Next, we will learn about some CRUD operations. Follow me to stay tuned.

Happy Learning !!

Leave a Reply

11 Comments
Most Voted
Newest Oldest
Inline Feedbacks
View all comments

About Us

HowToDoInJava provides tutorials and how-to guides on Java and related technologies.

It also shares the best practices, algorithms & solutions and frequently asked interview questions.

Our Blogs

REST API Tutorial