Skip to main content

Creating MongoDB Service on Windows

There are different ways you can install MongoDB as Windows Service..

Using mongod

mongod --config "M:\mongodb\conf\mongod.cfg" --serviceName "MongoDB" --serviceDisplayName "MongoDB" --serviceDescription "MongoDB Server Instance" --install

mongod --logpath M:\mongodb\data\log\mongo.log --dbpath M:\mongodb\data\db --auth --directoryperdb --install

Specifying argument directoryperdb creates separate directory structure for different DBs like admin, mydb etc.


Using Windows Service command

sc.exe create MongoDB binPath= "\"M:\mongodb\bin\mongod.exe\" --service --config=\"M:\mongodb\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"

Following the Windows service command, make sure Service console is not opened.

Start/Stop MongoDB Service

net start MongoDB
net stop MongoDB

Deleting MongoDB Service

mongod --remove
sc.exe delete MongoDB

Comments

Popular posts from this blog

MongoDB BulkWrite Java API

Since version 3.2, MongoDB has introduced Bulk Update methods. In context of RDBMS, it's like SQL Batch Jobs, where SQL Statements are prepared in different chunks and a batch of statements are submitted to DB for update/insert. Here are some important points about MongoDB Bulk Write operation.. Useful in case you've huge data to update/insert. Mongo automatically prepares batches (of 1000 default) and start execution in an ordered/unordered manner. This drastically reduce DB trip time. Let's say there are 50 thousand records to update, now instead of 50k round trips to DB from your app server, using Bulk Update it would be reduced to just 50 round trips. Let's see an example below: List<WriteModel<Document>> updateDocuments = new ArrayList<WriteModel<Document>>(); for ( Long entityId : entityIDs ) { //Finder doc Document filterDocument = new Document (); filterDocument . append ( "_id" , ent

MongoDB fetch operation using Java API

With changes in MongoDB, there has been several changes in its Java API as well. There are now some good and easy way to perform different operation with DB. MongoDB Java API is really very simple and easy to understand. If we understand the basics, we can build up simple to complex queries. Let's take a look at the example of MongoDB fetch operation using the new Java API and then we'll try to understand the basics.. public MyEntity findMyEntityById ( long entityId ) { List < Bson > queryFilters = new ArrayList <>(); queryFilters . add ( Filters . eq ( "_id" , entityId )); Bson searchFilter = Filters . and ( queryFilters ); //Fields to return. //_id is available by default. A value of "0" would skip it List < Bson > returnFilters = new ArrayList <>(); returnFilters . add ( Filters . eq ( "name" , 1 )); returnFilters . add ( Filters . eq ( "_id" , 0 ))

MongoDB Aggregation using Java API

A very common problem scenario in programming is to get the records or record count by certain fields. For developers familiar with RDBMS, it's like creating a SQL with combination of count function and group by attributes. For MongoDB too, it's very similar. Let's look at the example below fetching no of employees group by department Ids. public Map < Long , Integer > getEmployeeCountMapByDeptId () { Map < Long , Integer > empCountMap = new HashMap <>(); AggregateIterable < Document > iterable = getMongoCollection (). aggregate ( Arrays . asList ( new Document ( "$match" , new Document ( "active" , Boolean . TRUE ) . append ( "region" , "India" )), new Document ( "$group" , new Document ( "_id" , "$" + "deptId" ). append ( "count"