I agree that it's good for prototyping. What concerns me is:
1) The tool that you prototype with often ends up as the tool you use in production because you don't have the time to migrate it later. This has happened to all of us, I'm sure :)
2) Sometimes - especially with data models - people should really take time at the beginning and plan it out as much as possible. Having a schema-less database is more often an excuse to be lazy about planning, in my experience.
That said: I think that an experienced developer, who knows what NoSQL can and can't do, will be great with either type of db.
I agree. There is no better alternative to thinking about your data model upfront. Some devs I know who start out with NoSQL because of a (irrational) fear of changing a schema in production. Their process is to run an MVP for a month or so till feature requests slow down, then build the schema.
I can never convince myself that MongoDB saves non-trivial amounts of time when prototyping. How long does it take to design a schema? You anyway have to write migrations. And if something doesn't work, just drop the database, change the seeders a little bit, and rerun the migrations. For a prototype that takes a month to complete, MongoDB would save a day at best.
I agree! Especially given how good MySQL has gotten with migrations and the beginnings sharding.
I'm thinking of writing a post here where I beg the community to convince me that I'm wrong about NoSQL.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.