eg Real-time analytics
If you need a pre-planned schema from database over making one on the fly (even accidentally), then MySQL is better as MongoDB is schema-less.
eg Rapidly changing input
If you are worried about Oracle's acquisition of Sun and MySQL (Switching to Postgre is the closest alternative though).
MySQL sharding is hard, MongoDB can automate it to a certain extent (MySQL requires third party tools I believe).
eg Distributing large datasets
Note: Other databases, eg Cassandra can also automate 'sharding' for example.
When did Mysql have relational integrity?
And in this context, MySql would be way to heavy.
Your comment is confusing. Can you please explain:
You replaced sqlite with mongodb, as an embedded database? How can mongodb run without a server?
Are you saying mongodb is more lightweight than sqlite? If so I find this very surprising, can you elaborate?
MongoDB isn't as light as sqlite, but for our usage the difference was negligable with MongoDB running with around 3MB memory footprint. In the end we get speed and ease of use/flexibility of not having to deal with sql or schemas.
I see people angry about not using the "right tool for the job" all the time with regard to web applications. What other tools do you feel aren't used when they should be?