Mongo is cool, and Mongoose (node ORM-like wrapper) is pretty nice as well, but after using it for a few months on a project I was building I realized that I was duplicating a ton of data. Until mongo solves the issue of joins (something that is better suited to a sql solution), I just had to revert and ended up used node-mysql which is a pretty decent node mysql driver. I was considering using mongo for sessions (with connect-mongo), but ended up going with redis as it's pretty solid solution (and according to some benchmarks, faster).

I feel you - I recently started a node project on LevelDB and ultimately switched over to an SQL database. The difference though is I went for Postgres 9.3, which has incredible native JSON support, allowing you to slice parts of your JSON data out as a record set, join them against tables, as well as other crazy things like partial indexes on deeply nested JSON values which may or may not be present.

I really think Pg is starting to blow Mongo out of the water.

Any suggestions on ORMs or npm packages to use with pg and node?

I'm a big fan of ORMs in other ecosystems (Rails and Django, for example), but in node I like to write more functional-style code, composing small modules into larger applications.

For this, check out the fantastic node-postgres adapter from brianc as well as his node-sql package for authoring SQL statements.

https://github.com/brianc/node-postgres\nhttps://github.com/brianc/node-sql