any small to medium app is better off with NoSql than RDBMS.
No. Most apps have no real use for nosql, and shouldn't be using it in the first place.
It's hugely widespread because a bunch of jackasses promoted it as the best thing since sliced bread, and somehow convinced swarms of (largely javascript) developers to reach for mongo first, rather than ascertain the actual needs of their product/app/whatever and make an informed decision. This often (generally) leads to wildly inefficient data backends that are thrown together on the fly with no care given to what the structure of the data actually ought to be.. not just right this second, but in a week, a month, 5 years.
The complete lack of forethought and foresight that plagues developers lately is endlessly frustrating.
Stop chasing "the shiny" .. think about what you want to do, plan your move(s), and implement with purpose.
Or don't I guess.. but please keep your lazy schema design and cowboy coding at home. There's already far too much of it in the wild.