I guess this NoSQL thing is getting to me. So I had to try it and see if I can use it with my favorite language.

I first did a little research on the net and found [this post][1].

I went on from there.

First I [downloaded][2] [MongoDB][3].

Then you unzip it and go to the bin folder and run mongod.exe. By carefull with firewall issues.

Now we create a folder named c:datadb

then I downloaded [a driver for .net][4].

I then referenced the three dll’s. Just to be sure ;-).

MongoDB.Driver.dll

MongoDB.GridFS.dll

MongoDB.linq.dll

So far no problems. Now lets create a console application and see how easy it is to set up.

Imports MongoDB.Driver

Module Module1

    Sub Main()
        Dim mongo As New Mongo
        mongo.Connect()
        Dim db = mongo.GetDatabase("person")
        Dim persons = db.GetCollection("persons")
        Console.WriteLine("You have " & persons.Count & " persons in your database")
        
        Console.ReadLine()
    End Sub

End Module

If you run this you should get

You have 0 persons in your database

Now lets add a person to our database.

Dim person As New Document
        person("name") = "name1"
        person("firstname") = "firstname2"
        persons.Insert(person)
        Console.WriteLine("You have " & persons.Count & " persons in your database")

The above code should now give you the following result.

You have 0 persons in your database

You have 1 persons in your database

Cool.

But the second time you run it you get this.

You have 1 persons in your database

You have 2 persons in your database

And the third

You have 2 persons in your database

You have 3 persons in your database

And so on…

So time to delete some stuff.

persons.Delete(New Document)
        Console.WriteLine("You have " & persons.Count & " persons in your database")```
see the delete with the New Document parameter? That deletes all documents from the database. 

So the result will now be.

> You have 3 persons in your database
  
> You have 4 persons in your database
  
> You have 0 persons in your database

Easy.

Now lets look for a certain record.

```vbnet
Dim mongo As New Mongo
        mongo.Connect()
        Dim db = mongo.GetDatabase("person")
        Dim persons = db.GetCollection("persons")
        Console.WriteLine("You have " & persons.Count & " persons in your database")
        Dim person As New Document
        person("name") = "name1"
        person("firstname") = "firstname1"
        persons.Insert(person)
        Dim person2 As New Document
        person2("name") = "name2"
        person2("firstname") = "firstname2"
        persons.Insert(person2)
        Console.WriteLine("You have " & persons.Count & " persons in your database")
        Dim persontofind = New Document
        persontofind("name") = "name1"
        Dim personfound = persons.FindOne(persontofind)
        Console.WriteLine("Found person: " & personfound("name") & " " & personfound("firstname"))
        persons.Delete(New Document)
        Console.WriteLine("You have " & persons.Count & " persons in your database")
        Console.ReadLine()```
Now the result of the above will be.

> You have 0 persons in your database
  
> You have 1 persons in your database
  
> Found person: name1 firstname1
  
> You have 0 persons in your database

All very simple untill now. Only took me a couple of minutes to figure out. 

More on this later.

 [1]: http://odetocode.com/Blogs/scott/archive/2009/10/13/experimenting-with-mongodb-from-c.aspx
 [2]: http://www.mongodb.org/display/DOCS/Downloads
 [3]: http://www.mongodb.org/
 [4]: http://github.com/samus/mongodb-csharp/downloads