The problem with your question is that none of the terms are very well defined (not your fault - you didn't get to define them).
But what is document-based? Does it have to be stored as text? Or does it just have to be exposed to a client as a document? Really, on the second choice makes sense, except then pretty much any persistent storage qualifies. You can always transform rows and columns into a document, for example.
As far as querying via JSON, I wrote my own system to do that with Cache DB before Intersystems released their version. And one could put a JSON wrapper around almost any persistent storage (it's not that hard, JSON is designed to be quite easy to parse).
To me the key interesting feature of NoSQL databases is that they are often designed to work with distributed data across large numbers of unreliable machines - though at the price not being capable of certain kinds of consistency. Cache DB doesn't have that (as far as I know), but could reasonably be said to support the characteristics you mentioned to the extent that they have clear meaning.
It would be easier to answer more specific questions about what you are trying to accomplish.