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:
- MongoDB for Windows Server 2008 R2 edition [Download link]
- MongoDB for Windows 64-bit [Download link]
- MongoDB for Windows 32-bit [Download link]
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:
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 !!