Dependency on MongoDB and/or other data store should be optional, and disabled by default. The extra dependency would be a burden for many use cases.
Good to consider this early; if DB support is taken for granted it may be more difficult to make it optional down the road.
Ok I'll try to plan accordingly around that.
I'm not very familiar with MongoDB, but if it has similar features to SQLite (.db file in the application's data directory, or an in-memory mode), they would probably be ideal for simple use cases.
I am considering migrating the datastore to sqlite. I am hoping to get peoples feedback. Advantages/Disadvantages?
SQLite sound much better then MongoDB in this project
I want to use subway on my Raspberry Pi but its dependency to mongodb and not so-easy way (and safe way) to compile mongodb for Raspberry Pi didn't allow me to use subway. It's not available on Raspberry Pi repository and compiling mongodb will take few hours http://elsmorian.com/post/24395639198/building-mongodb-on-raspberry-pi that I want to prevent to do that.
I think this could be a good use-case. Mongodb is not portable as Node.js.
Also I want to propose using leveldb instead of SQLite. Chromium itself completely ported on Raspberry Pi and I think Leveldb that as a sub-project of chromium is also ported to ARM or everywhere node.js is present. Also here is an interesting benchmark about it.
It may be easier to port with LevelDB as well since it is a key-value store.
Or even nStore.
Mongodb is replaced with sqlite in the 030_dev branch. Look forward to this soon.
This is now in master.