If you intend to largely use MongoDB, then KeystoneJS is THE choice because of the default DEV-CMS features it comes with, as well as the admin panel all of which work with MongoDB. (Word on the street is this might expand to other datasources but nothing confirmed as of yet)
Even if you don't want to use MongoDB, you can work very easily with whatever DB you want, but you'd be creating your own SQL...which isn't that bad if you actually care about DB performance and/or if you need complex queries.
Sails has no admin panel. But you can use models with any SQL database you want.
Personally, I don't NEED to use models. I can work with SQL.
What I DO need in a framework is for it to have a lot of basic things already in it, like authentication, some sort of backend to log into, etc. because adding these in require quite a bit of custom work. Pure data access on its own is fairly trivial.
So I personally go for KeystoneJS whenever I need to do any full-stack server-side JS.