The following is the procedure for doing CRUD operations in MongoDB.

Step 1

Create a folder such as D:\data\db.

Step 2

Download MongoDB binaries from: http://www.mongodb.org/downloads and unzip it to the “D” drive.

Step 3

Double-click on “mongod” inside “.\mongodb-win32-i386-2.6.4\bin”. That will open a new window. Keep this window opened. This will open a port Mongo with a port (in my case it is 27017).

mongod

Open http://localhost:27017/.

Step 4

Create a Window application with Visual Studio.

local host

Step 5

Install the official MongoDB C# driver. Run “PM> Install-Package mongocsharpdriver” in the Package Manager Console .

testmongo

Step 6

To create a database and record:

  1. MongoServer mongo = MongoServer.Create();
  2. mongo.Connect();
  3. var db = mongo.GetDatabase("Organization");
  4. using (mongo.RequestStart(db))
  5. {
  6. var collection = db.GetCollection<BsonDocument>("Employees");
  7. BsonDocument Employee = new BsonDocument()
  8. .Add("_id", System.Guid.NewGuid().ToString())
  9. .Add("Name", txtName.Text)
  10. .Add("Eamil", txtEmail.Text)
  11. .Add("Phone", txtPhone.Text);
  12. collection.Insert(Employee);
  13. textBox1.Text = textBox1.Text + System.Environment.NewLine + "Inserted....";
  14. mongo.Disconnect();
  15. ReadAll();
  16. }
Step 7

To search a record:
  1. MongoServer mongo = MongoServer.Create();
  2. mongo.Connect();
  3. textBox1.Text = textBox1.Text + System.Environment.NewLine + "Searching....";
  4. var db = mongo.GetDatabase("Organization");
  5. using (mongo.RequestStart(db))
  6. {
  7. var collection = db.GetCollection<BsonDocument>("Employees");
  8. var query = new QueryDocument("Name", txtNameSearch.Text);
  9. foreach (BsonDocument item in collection.Find(query))
  10. {
  11. BsonElement Name = item.GetElement("Name");
  12. BsonElement Eamil = item.GetElement("Eamil");
  13. BsonElement Phone = item.GetElement("Phone");
  14. BsonElement id = item.GetElement("_id");
  15. txtNameSearch.Text = Name.Value.ToString();
  16. txtEamilSearch.Text = Eamil.Value.ToString();
  17. txtPhoneSearch.Text = Phone.Value.ToString();
  18. txtID.Text = id.Value.ToString();
  19. }
  20. }
  21. mongo.Disconnect();Step 7: to update a record
  22. MongoServer mongo = MongoServer.Create();
  23. mongo.Connect();
  24. var db = mongo.GetDatabase("Organization");
  25. using (mongo.RequestStart(db))
  26. {
  27. var collection = db.GetCollection<BsonDocument>("Employees");
  28. BsonDocument Employee = new BsonDocument()
  29. .Add("_id", txtID.Text)
  30. .Add("Name", txtNameSearch.Text)
  31. .Add("Eamil", txtEamilSearch.Text)
  32. .Add("Phone", txtPhoneSearch.Text);
  33. collection.Save(Employee);
  34. textBox1.Text = textBox1.Text + System.Environment.NewLine + "Update....";
  35. mongo.Disconnect();
  36. }
Step 8

To read all records:
  1. MongoServer mongo = MongoServer.Create();
  2. mongo.Connect();
  3. textBox1.Text = textBox1.Text + System.Environment.NewLine + "Reading All....";
  4. var db = mongo.GetDatabase("Organization");
  5. using (mongo.RequestStart(db))
  6. {
  7. var collection = db.GetCollection<BsonDocument>("Employees");
  8. foreach (BsonDocument item in collection.FindAll())
  9. {
  10. BsonElement Name = item.GetElement("Name");
  11. BsonElement Eamil = item.GetElement("Eamil");
  12. textBox1.Text= textBox1.Text+System.Environment.NewLine+string.Format("Name: {0}, email: {1}", Name.Value.ToString(), Eamil.Value.ToString());
  13. }
  14. }
  15. mongo.Disconnect();
Step 9

To delete a record:
  1. MongoServer mongo = MongoServer.Create();
  2. mongo.Connect();
  3. var db = mongo.GetDatabase("Organization");
  4. using (mongo.RequestStart(db))
  5. {
  6. var collection = db.GetCollection<BsonDocument>("Employees");
  7. collection.Remove(new QueryDocument("_id", txtID.Text));
  8. textBox1.Text = textBox1.Text + System.Environment.NewLine + "deleted....";
  9. mongo.Disconnect();
  10. }
Delete a record