>This is not the case for most of the NoSQL databases where you'll pay for lack of certain features either by a) having to write a lot of code, or b) bad-to-crippling performance for use cases it wasn't meant to solve.
Can you give a common example of these? This article is referring to issues related to row vs column data stores, not sql vs nosql.
>The problem is that at some point you end up wanting joins.
It can join with the $lookup function these days. Although it is only to a "non-sharded collection". I don't know why it can't join to a sharded collection when the join is on the same shard though.
There is also the option of using $in with a list of things you have pulled down in another query.
Can you give a common example of these? This article is referring to issues related to row vs column data stores, not sql vs nosql.