Никто не говорит о том, правильно ли сделан выбор. Невозможность джойнов — это особенность Mongo, которую нужно иметь в виду при выборе субд, вот и всё.
Join нужны, например, когда надо запросить все документы, у которых во вложенном документе (через DBRef) значение поля удовлетворяет какому-то условию. В Mongo это можно сделать только запросив сначала все вложенные через DBRef документы по условию, а потом запросив $in-ом родителей по получившимся DBRef-ам. Это может быть весьма затратно при большом количестве связей.
Так ведь цель — заинтересовать не средой разработки, а технологией. Делать страницы и выкладывать их на бесплатный хостинг, чтобы потом посмотреть на смартфоне у своего соседа — это гораздо интереснее, чем создавать win32-приложения. Я в аспирантуре давал эти технологии превокурсникам-практикантам, и они это делали с куда большей охотой, пониманием и энтузиазмом, чем классические приложения под Windows.
В PHPStorm поставил хоткей на заливку редактируемого файла на связанный по sftp сервер виртуалки. Вообще никаких проблем, для этого не обязательно каждый раз делать commit/push/pull.
А чем плоха виртуалка? Во-первых, эта среда ближе всего к «боевой». Во-вторых — менеджер пакетов, такой как yum, что позволяет ставить и удалять любой серверный софт (nginx, memcached, graphviz, imagick, mongo и т.д.) из свежих реп, просто набрав знакомую строчку, без выкрутасов. Ну и в-третьих, она полностью изолирована от основной ОС. Плюс, можно делать с неё снапшоты в любое время. В общем, это удобно.
Тут есть нюанс: если обработка данных идёт долго, а запросы — часто, то чайлд-процессы fpm-a могут не справиться. Поэтому в большинстве случаев это лучше делать в отдельном потоке, который в перспективе можно вытащить на отдельный сервер.