Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Looks like a lenghty review.

Why do all node.js based frameworks prefer nosql? And where are the discussion about automated testing and continuous integration/deployment?

I'd like to see a framework that support traditional RDBMS and makes testing in both server and clinet side easier.

Rails has set the bar higher...



The reason we use a document based datastore is that it is easier to think about conflict resolution, and it maps more easily into how JavaScript represents data in the browser. It is common for large-scale eventually consistent systems to use document based stores instead of RDBMS.

We also are big fans of testing, and we will have a better answer to how testing can be done. We currently use Mocha, which is a great test runner for the server and the browser. All of our frameworks are still quickly iterating and adding important features like this.


Typically testing client side JS is tricky thus a combination of patterns or good separation is a good enough solution (see GWT MVP pattern).


Also; in the early days "the" node.js mysql client library was blocking, so everyone just forgot about using mysql.


> Why do all node.js based frameworks prefer nosql?

I'll venture that its because in javascript (among other languages) its more direct to 'query' generic data objects: hash.filter(), array.indexOf(), etc. Thereby pulling JSON from key-value stores is a simple catch-all that avoids dealing with SQL, schemas, and ORMs.


In addition to the other answers you've gotten (which are right), I think the real answer is JSON. I mean, JSON stands for "JavaScript Object Notation" (I think), but it means that your query results are effectively mapped to objects immediately.

Mongo especially returns JSON as its results, so it's usually the first choice for JS-based frameworks, for better or worse.


> Mongo especially returns JSON as its results, so it's usually the first choice for JS-based frameworks, for better or worse.

Nitpicky, but it actually returns BSON, which is based on JSON but has more data types.


No. Data is stored in BSON, transfered in BSON but when in javascript it's JSON.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: