Trying to answer why MongoDB is not using SQL as its query language:
The main reason we went the way we did with the query language - representing queries as JSON - was to normalize the data we are storing with the query mechanism. If we are storing JSON in the database, can we not represent the queries that way too? We thought that made sense.
Is that a strong enough argument? I don’t think so.
What I’ll say next will sound strange, but I think this was more of a branding or market positioning kind of decision.
If MongoDB would have used SQL, what would have been its major differentiator from existing RDBMS? The BSON based storage? I don’t think people would really care about it. Support for MapReduce? Probably. Performance? Probably. Lacking the advanced SQL statements and tools? Quite possible.
MongoDB going with SQL would have made it look like the “ugly duck” of the RDBMS world. And that’s definitely not a good positioning for a new product.
Anyway this is just a crazy personal hypothesis.