Skip to main content

How to setup MongoDB tools to test/develop applications in C#?


In this article, I will be mentioning about how to install MongoDB infrastructure to develop any application in C#. After you have read this article, you will be ready to develop C#-MongoDB applications by following the below instructions step by step.

Versions of tools used in this demo:

  • Visual Studio 2010
  • .NET 4.0
  • MongoDB C#/.NET driver Version 1.11.0
  • MongoDB 3.4.0
  • Robomongo 0.9.0


1- Download MongoDB

To download latest version of MongoDB, click here.
Below page is opened. According to your Operating System, select MongoDB version and click to "DOWNLOAD". After downloading, go ahead and install MongoDB.



2- Download RoboMongo

Click here to download latest version of RoboMongo.
As December 2016, latest version of RobomMongo is 0.9.0. To download the latest version, click "Download" button. If you want to download previous versions, click on "Download previous version"


After that, select the OS and download RoboMongo. Go ahead and install the downloaded software.







3- Add new  Environment variables.

Default installation directory will be like "C:\Program Files\MongoDB\Server\3.4\bin". Add this directory to the environment variables with the name of "PATH" as following:



From system properties on "Advanced" tab, click on "Environment Variables" button. Click "New.." on user Variables section and type "Variable name" and "Variable value" as "PATH" and "C:\Program Files\MongoDB\Server\3.4\bin" respectively.



4- Create MongoDB Directory Structure  on your PC

Conventionally, MongoDB directory is created under drive D. Create a folder named "MongoDB" under D (i.e. D:\MongoDB).
Create folder named "data" under D:\MongoDB (i.e. D:\MongoDB\data)
Create folder named "db" under D:\MongoDB\data (i.e. D:\MongoDB\data\db)
Create a file named "mongod.cfg" under MongoDB (i.e. D:\MongoDB\mongod.cfg)
Paste the following code into this configuration file:

dbpath = D:\MongoDB\data\db
logpath = D:\MongoDB\mongod.log
logappend = true

5- Create Windows Service for MongoDB process.


Run "Command Prompt" with Administrative privileges i.e. Either click right and click on "Run as Administrator" or press "Ctrl + Shift + Enter" on  Command Prompt App.


To create windows service, run following command on command prompt:

Be careful that you run following code when you are in the directory where "sc.exe" is located. This executable file is generally located in "C:\Windows\System32\". If you are not in this directory in command prompt, open this directory using "cd C:\Windows\System32" command. Then proceed safely.

sc.exe create MongoDB binPath= "C:\Program Files\MongoDB\Server\3.0\bin\mongod.exe 
--service --config=\"D:\MongoDB\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"

After Windows service is created, you will see that a service named "MongoDB" exists in the service list and its status is running as follows:



You can use following command line codes to start and stop this service:
To start: "net start MongoDB"
To end: "net stop MongoDB"


After you stopped this service, you can observe from the services list that, current status of service MongoDB is not "Running" as shown in below figure.




6- Download MongoDB C# Drivers


The next step is the downloading C# drivers. Before proceeding, remember and be careful while selecting the compatible C# driver of MongoDB with your .NET version. The platform that C# drivers will be downloaded is nuget store. Go to nuget store to download official C# drivers


  • If you still do not have nuget store on your Visual Studio, follow these steps:


Click on "Tools -> Extension Manager"


Type "nuget" on search screen and install "Nuget Package Manager".





  • If you have already have nuget store, follow these steps:




Search "mongo" and install the first two drivers namely: "MongoDB.Driver" and "(Legacy)Official  C# driver for MongoDB". 



However, these two drivers are compatible with .NET 4.5 . If you have an earlier version of .NET (i.e. .NET 4.0), you should install earlier versions of these drivers. (i.e. Version 1.11 or Version 1.10)
To install earlier versions of drivers, you should open "Package Manager Console" first. Then execute following command: "Install-Package mongocsharpdriver -Version 1.11.0" (without quotes)


After you have installed drivers successfully, you will see that two dll files added to your reference list automatically namely, "MongoDB.Bson" and "MongoDB.Driver".





7- Connect RoboMongo

  • Open RoboMongo application.
  • Click on "create" to create a link to listen database


You can name the name of the connection as you desired. Address is by default localhost and the port number is "27017". You can modify this part as you desired, but the simplest method is to use the local host and local port number. Then. click on "Save" button.



Conclusion
Finally, you are all set with the infrastructure related to C# and MongoDB. Now you can develop any application on C# to read and write the database MongoDB.  



Comments

Popular posts from this blog

Star Wars ASCIImation with Python - Windows

In this post, we'll watch a Star Wars movie in ASCII format. The only thing we need for this demo is Python-installed PC and internet connection. Figure : Screenshots from Python Command line while Star Wars is being streamed All credits gained in this demo will go to " blinkenlights.nl " [2] website, which broadcasts this ASCII movie using Telnet protocol on Port 23, and Python which makes socket implementation very easy for us. No authentication is needed for this broadcast. Anyone who is able to create a TCP socket and listens  blinkenlights.nl  on port 23 would be able to get this stream and display on their Python command line. CODE My main source for Python source code is [1]. What  code below does is simply importing Python "socket" library, create a socket, use " towel.blinkenlights.nl " address variable to create connection, receive data from socket and display it. While typing (copy/paste) code, be careful about indentatio...

STORY: Most Challenging Bug

It was an embedded software running on a specific hardware. Software was consisting of different modules for each task. The functionality that I was testing was related to two different modules which are written by two different developers. Required functionality was not working and test was failing consistently. Then, we debugged the Module-1 with Developer-1, Module-1 seemed to work properly. Then, we debugged the Module-2 with Developer-2, Module-2 also seemed to work surprisingly. Of course, each developer was blaming the other developer for the fault : ) Then I suspected about my own test case and re-reviewed and inspected it again, but test case also seemed as OK. Afterwards, we suspected about the software testing tool and debugged it with the developer of the test tool. Not surprisingly, test tool also seemed to work properly : ). Ooopsss. What is next? The next suspicious guy was the data buses between test tool and the software/hardware. Then we checked data...