Category Archives: MongoDB

Liqueed Project (1)

Next Post

Today, I want to present the Liqueed Project, see repo at:

It is a web application based on an idea by @acyment, read post:

The basic idea of the application is to help teams that are developing something in the way that Cyment suggested, on the issue of allocation of shares on the project. For several months, the application (code, backlog, ideas, implementation, hosting and others) has been putting together by a “liquid” team (with entry and exit of people)

In this series of posts starting today I want to discuss interesting technical issues raised by the project. For today, I commented that:

– It is a Node.js application, exposed to the web using Express. Bringing the programming language is JavaScript.

– In addition to some internal administration pages with MVC, has an API exposed, exchanging JSON.

‘- There’s an app Single Page which is what would have to use the end user to view projects, voting, distributions of shares and to enter new ratings

– Most of the code was written using the workflow of TDD (Test-Driven Development). Even the first code implemented the model in memory, allowing easier progress on the implementation of use cases, without bothering about persistence (even the SPA client can run without having a walk server)

– A few months ago, we added persistence with MongoDB. We could use another database, relational perhaps. We are not taking advantage of the facilities to handle documents MongoDB yet. Only chose it for its ubiquity in development platforms and different Node hosting services.

– Some weeks ago, we added Istambul for code coverage.

– When TDD tests for pure code began to be long, we created a textual DSL (Domain Specific Language) that allows us to write text files for more complicated functional tests.

– Begin to add tests of SPA (Single Page Application) using Zombie

And there are more details and topics to comment, in the upcoming posts.

Stay tuned!

Angel “Java” Lopez

MongoDB: Links, News, And Resources (8)

Previous Post

Does a good framework for MongoDB "schema" upgrades in Scala exist? – Stack Overflow

.: MongoDB course note 6

A little about CouchDB (and comparison with MongoDB)

MongoDB, Inc. Joins us to talk about MMS (MongoDC – DC Edition) – Washington DC MongoDB Users Group (Washington, DC) – Meetup

Tutorial – Getting Started With Node.js, Express, MongoDB | Christopher Buecheler – Web, Writing, Cocktails and More

Webinar: What’s New with MongoDB Hadoop Integration | MongoDB

Rolling Your Own RSS Feed with Express and Jade


Developing mobile apps with Node.js and MongoDB, Part 2: Hints and tips

Developing mobile apps with Node.js and MongoDB, Part 1: A team’s methods and results

NoSQL Battle of the East Coast – Benchmarking MongoDB vs TokuMX Cluster | Severalnines

MongoDB and server performance

MongoLab: MongoDB-as-a-Service (MongoDB hosting)

My Links

Stay tuned!

Angel “Java” Lopez

MongoDB: Links, News, And Resources (7)

Previous Post
Next Post

Constructing Web APIs with Rack, Sinatra and MongoDB

MongoDB – Server Density Blog


Backbone, Node, Express, and More: An Introduction to Full-Stack JavaScript, with Init.js | Toptal

sntd – Upcoming events
webdevelopment mongodb example nodejs

Something New To Do
Webapp to allow people to easily track what is happening in a city.

Core MongoDB Operations (CRUD)

Queries — MongoDB Node.JS Driver 1.3.13 documentation

JsDoc Reference – Index

Get ID of last inserted document in a mongoDB w/ Java driver – Stack Overflow

My Links

Stay tuned!

Angel “Java” Lopez

MongoDB: Links, News, And Resources (6)

Previous Post
Next Post

New Course: Introduction to MongoDB | the pluralsight blog

Paul Scott | Rants and musings

Julian Hyde on Streaming Data, Open Source OLAP. And stuff.: Efficient SQL queries on MongoDB

MongoDB Aggregation Framework Examples in C# – Mikael Koskinen

Embedded Node.js database upward compatible with MongoDB

Better MongoDB Performance | Tokutek

Webinar: General Technical Overview of MongoDB for Dev Teams | 10gen

How to Set Up a MongoDB NoSQL Cluster Using Oracle Solaris Zones

Julian Hyde on Streaming Data, Open Source OLAP. And stuff.: Efficient SQL queries on MongoDB MongoDB Aggregation Framework Principles and Examples eBook: John Lynn: Kindle Store

Building a Localized Bidding Platform with MongoDB – New York MongoDB User Group (New York, NY) – Meetup

10gen Education

MongoNYC 2013 | 10gen

Webinar: MongoDB for Content Management | 10gen

shubik/prometheus · GitHub
ODM for Node.js with adapter for MongoDB, with built-in form builder and form parser

My Links

Stay tuned!

Angel “Java” Lopez

MongoDB: Links, News, And Resources (5)

Previous Post
Next Post

MongoDB with Jongo – sleeves up! – For the sake of imagination

alexferreira/restgen · GitHub

10 questions to ask (and answer) when hosting MongoDB on AWS

The MongoDB NoSQL Database Blog, The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js

How NoSQL, MySQL and MongoDB worked together to solve a big-data problem

Building Single Page Web Applications with Backbone.js, JaxRS, MongoDB, and OpenShift | OpenShift by Red Hat

Analytics: Analyzing tracked events

Building Web Applications with MongoDB: An Introduction | 10gen

MongoDB San Francisco 2013 | 10gen

Docs | InvaNode


i-vetrov/InvaNode-mongo · GitHub
InvaNode CMS with MongoDB

danparn/brumba · GitHub
Build desktop-like Web applications with Node.js and MongoDb on server

MongoDB March Madness Hackathon – London MongoDB User Group (London, England) – Meetup

xavi/noir-auth-app · GitHub
A complete authentication web app based on Clojure/ClojureScript, Compojure, lib-noir, Enlive and MongoDB.

astalker/nblog · GitHub
A Simple CMS module for Node Js using Express, EJS and Mongo

Episode 101 – Real-World Windows Azure with Auth0 | Windows Azure Cloud Cover Show | Channel 9

I’ll Give MongoDB Another Try. In Ten Years. | Diego Basch’s Blog

MongoDB Is Still Broken by Design 5-0 • myNoSQL

My Links

Stay tuned!

Angel “Java” Lopez

MongoDB: Links, News, And Resources (4)

Previous Post
Next Post

Broken by Design: MongoDB Fault Tolerance :: Hacking, Distributed

cha0s/mongoose-api · GitHub

jawerty/Node2Blog · GitHub
A simple and easy to setup node.js blog template. For the casual blogger.

Getting Started with Node.js on Heroku | Heroku Dev Center

Open Source PHP E-Commerce Platform With MongoDB – Forward

Object Modeling in Node.js with Mongoose | Heroku Dev Center

Analytics for modern data

The MongoDB NoSQL Database Blog, Introducing MongoClient

oteroleonardo/ · GitHub
A cool demo web app to show Node.js, Raphaeljs,, Express.js, Mongoose and MongoDB integration

Hybrid Applications with MongoDB and RDBMS – a session at Øredev 2012

Softaculous AMPPS

Creating a REST API using Node.js, Express, and MongoDB

javascript – Do you know any tutorial for mongoDB in nodeJS? – Stack Overflow


Scaling with MongoDB

Fun with MongoDB replica sets | Foursquare Engineering Blog



My Links

Keep tuned!

Angel “Java” Lopez

MongoDB: Links, News, And Resources (3)

Previous Post
Next Post

NodeCellar: Sample Application with Backbone.js, Twitter Bootstrap, Node.js, Express, and MongoDB

10gen – MongoDB Presentations – Webinar: What’s new in the .NET Driver


ReactiveMongo for Scala: Unleashing MongoDB Streaming capabilities for Realtime Web

Implementing Aggregation Functions in MongoDB

The Trello Tech Stack – Fog Creek Blog

10gen – MongoDB Events – MongoDB Buenos Aires 2012

Rails – Getting Started – MongoDB

Ruby Language Center – MongoDB

Rails 3 – Getting Started – MongoDB

MongoDB Data Modeling and Rails – MongoDB

#238 Mongoid – RailsCasts

MongoDB (is) For Rubyists – Boston Ruby



Paging & Ranking With Large Offsets: MongoDB vs Redis vs PostgreSQL

A-tour-of-Opa – Opa Documentation

Understanding MapReduce in MongoDB, with Node.js, PHP (and Drupal) | Tech Blog by New Leaf Digital | Ben

Rob Conery – Real World NodeJS – Creating the Tekpub API on Vimeo

The Node.JS MongoDB Driver Manual — MongoDB Node.JS Driver 1.0.1 documentation

Perform Two Phase Commits | The MongoDB Cookbook

Quick tip: Share a large MongoDB query object between the CLI and Node.js | Tech Blog by New Leaf Digital | Ben

InfoQ: Introduction to MongoDB for Java, PHP and Python Developers

Mongoose v3 :: The Future is Bright

My Links

Keep tuned!

Angel “Java” Lopez

MongoDB: Links, News, And Resources (2)

Previous Post
Next Post

Powered by MongoDB: Rafflecopter
Rafflecopter is a web app that helps online publishers run sweepstakes on
their own blogs and other sites.

Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Membase vs
Neo4j comparison

ric03uec / nodeblox
an extensive nodejs tutorial

MongoDB for Akka Persistence

MongoDB, Java and Object Relational Mapping
Today’s NoSQL landscape includes a number of very capable contenders
tackling big data problems in many different ways. One of these contenders
is the very capable MongoDB. MongoDB is a document-oriented schema-less
storage solution that uses JSON-style documents to represent, query and
modify data.

A Year with MongoDB

How can I set up MongoDB on a Node.js server using node-mongodb-native in
an EC2 environment?

Creating a simple blog with node.js, express and mongodb

Getting Started with MongoDB and Node.js

A simple log server using express, nodejs, and mongodb

Building Backbone.js Apps With Ruby, Sinatra, MongoDB and Haml

Making a ToDo list with node.js, MongoDB, Mongoose, MongoHQ, and Heroku

ToolPartTeam / backbone-mongodb

Composition Of Responsibility vs Interface Implementation

Using MongoDB with ASP.NET Web API

Hadoop plugin for MongoDB: The Elephant in the Room

Clojure demo web application using Ring, Compojure, MongoDB and Fusion

Heroku, mongo, node.js – a problem

marcello3d / node-mongolian

Using MongoDB on Mono
Justin Dearing presents a brief introduction to MongoDB, and focuses on
interacting with it in Mono via the official 10gen driver. Techniques for
handling business logic in application code, such as LINQ are discussed.
This is a very code centric talk.

MongoDB – How To Benchmark and Test Performance Using mongo-perf

MongoDB – Operations in the New Aggregation Framework

mongodb / mongo-hadoop

Rails Caching Benchmarked: MongoDB, Redis, Memcached

My Links

Keep tuned!

Angel “Java” Lopez

SharpMongo (2) a REPL

Previous Post

I’m working on my document in-memory store project, written in C#

It tries to implement the same operations as MongoDB: to have document bases, collections, documents, dynamic objects, etc. But with a difference: all is in-memory, and by now, in the same process. Persistence will be added as a plugin.

One of the tools I wanted to build is a REPL (Read Eval Print Loop), a console program that emulates the main functions of the MongoDB console client. The MongoDB program talks againts a server. SharpMongo, in the current version, only works in the same process memory, no persistence is implemented, yet.

The project is SharpMongo.Console. It compiles an assembly named sharpmongo.exe. You can launch it from command line:

SharpMongo 0.0.1
> show dbs
> show collections
> use foo
> show dbs

Now, we are in a db (document base), named ‘foo’. We can create a collection inserting dynamic documens, in a JSON-like format:

> db.people.insert({ Name: 'Adam', Age: 800 })
> db.people.insert({ Name: 'Eve', Age: 700 })
> show collections

We can find the documents in a collection:

  > db.people.find()
{ "Name": "Adam", "Age": 800, "Id": 4d802e11-a038-468e-bd26-38e96ad6f7d8 }
{ "Name": "Eve", "Age": 700, "Id": b29917f1-70f1-4f6c-95bb-f789fa9bf3c0 }  

We can find documents, filtering them using a criteria, expressed in a dinamic object as first parameter (a la query by example):

  > db.people.find({ Name: 'Adam' })
{ "Name": "Adam", "Age": 800, "Id": 4d802e11-a038-468e-bd26-38e96ad6f7d8 }  

We can insert more documents:

> db.people.insert({ Name: 'Cain', Age: 600 })
> db.people.insert({ Name: 'Abel', Age: 500 })
> db.people.find()
{ "Name": "Adam", "Age": 800, "Id": 4d802e11-a038-468e-bd26-38e96ad6f7d8 }
{ "Name": "Eve", "Age": 700, "Id": b29917f1-70f1-4f6c-95bb-f789fa9bf3c0 }
{ "Name": "Cain", "Age": 600, "Id": a5a3e1af-7e5c-4c16-829e-c07f94bc8697 }
{ "Name": "Abel", "Age": 500, "Id": c1da0055-8ded-4540-876f-5c032f514ed3 }  

We can insert and remove documents:

> db.people.insert({ Name: 'Pluto' })
> db.people.find()
{ "Name": "Adam", "Age": 800, "Id": 4d802e11-a038-468e-bd26-38e96ad6f7d8 }
{ "Name": "Eve", "Age": 700, "Id": b29917f1-70f1-4f6c-95bb-f789fa9bf3c0 }
{ "Name": "Cain", "Age": 600, "Id": a5a3e1af-7e5c-4c16-829e-c07f94bc8697 }
{ "Name": "Abel", "Age": 500, "Id": c1da0055-8ded-4540-876f-5c032f514ed3 }
{ "Name": "Pluto", "Id": 0561864a-470a-4437-9467-773ffb5a438a }
> db.people.remove({ Name: 'Pluto' })
> db.people.find()
{ "Name": "Adam", "Age": 800, "Id": 4d802e11-a038-468e-bd26-38e96ad6f7d8 }
{ "Name": "Eve", "Age": 700, "Id": b29917f1-70f1-4f6c-95bb-f789fa9bf3c0 }
{ "Name": "Cain", "Age": 600, "Id": a5a3e1af-7e5c-4c16-829e-c07f94bc8697 }
{ "Name": "Abel", "Age": 500, "Id": c1da0055-8ded-4540-876f-5c032f514ed3 }   

There are missing parts, the most important one could be the support of operators in query objects, that could allow us to apply more complex criteria, beyond equality, and operators in the update operation. All will be added using TDD, as usual.

Keep tuned!

Angel “Java” Lopez

SharpMongo (1) First Classes

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:

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

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

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