I read somewhere that nesting in hstore is coming in the next version (Q3 2014?) and non-string types are on deck.
Compared to the nightmarish development workflows and processes I've had to deal with resulting from using CouchDB as a main datastore, having to get the entire JSON value in order to update one key seems like not that big of a deal. What NoSQL databases even let you do incremental operations in that sense?
Shitty index? It seems like you should be able to make an index on a value inside the JSON just as easily as any other index.
I'm also exploring a solution for abstracting that as a normal, non-JSON table for semi-structured data using views.
Basically, it seems like for semi-structured data where you know what the schema is, but maybe it just changes over time or isn't 100% certain, so it's not possible to store it using a typical schema, JSON + indexes + views offers the best of both worlds.