Angel \”Java\” Lopez on Blog

October 20, 2013

SharpMongo (1) First Classes

Filed under: C Sharp, MongoDB, NoSQL, Open Source Projects, SharpMongo — ajlopez @ 5:29 pm

Next Post

I’m exploring NoSQL, specially MongoDB. In a non-public project, my customer is using MongoDB, and I’m writing an in-memory alternative, an extension of my open source project Memolap. I like to implement in-memory storage, so I decided to write a MongoDB-like in C#, work in progress:

https://github.com/ajlopez/SharpMongo

As usual, it’s been written using TDD workflow:

https://github.com/ajlopez/SharpMongo/commits/master

I’m implementing the same ideas in JavaScript/Node.js, check:

https://github.com/ajlopez/SimpleMongo

The current status of SharpMongo hasSi ven el estado actual de SharpMongo, tiene:

– Class project SharpMongo.Core
– Test project SharpMongo.Core.Tests
– Class project SharpMongo.Language, where I’m implementing a simple language for a console program
– Test project SharpMongo.Language.Tests
– And the console program SharpMongo.Console

There are some base classes:

Engine has a list of DocumentBase. A DocumentBas has Collections. The documents and dynamic objects:

A Collection contains DynamicDocuments. A DynamicDocument is a DynamicObject (a key-value dictionary) but with an additional property Id.

I have already implemented the Collection methods:

– Insert
– Find (with query and projection)
– Remove (with query)
– Save (with and without Id)
– Update

And the console project has many implemented commands. Next steps:

– Operadores en Find
– Count
– Nested DynamicObjects and arrays in a DynamicObject
– Pretty print in console program

Then, I should manage concurrency, or at least, serialize the updates (execute them one by one). I could add:

– Server that receives line commands via TCP, with plain JSON commands to be executed, and returning results in JSON

– Clients in C#, JavaScript, PHP?

Keep tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

12 Comments »

  1. […] Previous Post […]

    Pingback by SharpMongo (2) a REPL | Angel "Java" Lopez on Blog — October 22, 2013 @ 7:15 pm

  2. Hi, I want to subscribe for this weblog to obtain newest updates,
    therefore where can i do it please help out.

    Comment by and even inquiring through the Google shopping network. — December 26, 2013 @ 10:21 pm

  3. This will create better understanding of the material.

    The technology has been planned with the understanding that every child has a different learning
    style and ability of learning. 2 million students were enrolled in online courses
    during 2007.

    Comment by aprender un idioma — March 11, 2014 @ 3:50 pm

  4. Thank you, I’ve just been searching for info about this subject for a long time and yours is the best I have found out till now.
    However, what concerning the conclusion? Are you certain about the source?

    Comment by landscaping — April 1, 2014 @ 2:06 am

  5. BLU electronic cigarettes are also relatively cheaper in the long run. But overdose through discount Winston cigarette smoke is unlikely,
    according to the University of Utah’s genetics department.
    The Web is a great resource for just about any matter, and you
    can arrive across a huge choice of e-textbooks that give particulars on using tobacco and also pointers on how to stop smoking cigarettes.

    Comment by e-cigs — June 10, 2014 @ 6:14 am

  6. I’m gone to convey my little brother, that he should also visit this web site on regular basis
    to get updated from most recent news.

    Comment by Trevor — June 19, 2014 @ 6:58 pm

  7. Since you can get started on Ebay with little to no startup
    capital, you might think that it will provide little to no reward.
    Lenders and investors will want to see your opening day balance
    sheet, but how do you complete one. Secondly, you’ll be
    protecting yourself from e – Bay policy change.

    Comment by youtube.com — July 1, 2014 @ 12:14 am

  8. But this will help you because you will see yourself as being just like the professional golfer, which is a great
    golfer. *on Wednesdays the Etla marketplace is held, smaller than those enumerated in the previous routes, but nevertheless interesting, quaint and at the same time bustling;
    there is also a traditional chocolate factory where you can have your own chocolate made on the spot
    from the raw ingredients, usually cacao, sugar, cinnamon and sometimes almonds.
    They had lost the right to put people to death
    by their own authority.

    Comment by RE/MAX — July 6, 2014 @ 11:16 pm

  9. The brand is considered the country’s leading manufacturers developing swimwear made for children that has a UPF
    50+ rating across its range. Everyone is able to news is always that the summer season includes swimsuit season. Jewel
    tones look beautiful on any skin tone, as they are rich in color and
    make complimentary tones pop.

    Comment by Aida — July 13, 2014 @ 8:38 am

  10. The brand is considered the country’s leading manufacturers developing swimwear made for children that has a UPF 50+ rating across
    its range. With a wide angle lens, you can be sure that
    a person far away from you will still be in the frame.
    Not only does it fold up for easy packing, it is also
    incredibly light.

    Comment by polyvore.com — July 13, 2014 @ 5:27 pm

  11. Wow that was odd. I just wrote an very long comment
    but after I clicked submit my comment didn’t appear.

    Grrrr… well I’m not writing all that over again. Regardless, just
    wanted to say wonderful blog!

    Comment by disqus.com — August 13, 2014 @ 11:07 pm

  12. Have you ever thought about adding a little bit more than just your articles?
    I mean, what you say is fundamental and all. Nevertheless think of
    if you added some great visuals or video clips to give your posts more, “pop”!
    Your content is excellent but with pics and clips, this blog
    could definitely be one of the greatest in its field.
    Fantastic blog!

    Comment by vaping gear reviews — September 12, 2014 @ 6:27 pm


RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.

%d bloggers like this: