Начну с конца:
Полагаю, привлекательность mongodb заключается в его синтаксисе javascript и
сходство с json:)
Не только это, а стиль json - не главное преимущество. Основные преимущества mongodb - это возможность встраивания документов, высокая производительность и полная масштабируемость, полная поддержка индексов, отображение / уменьшение и т. Д.
Так что, если я хотел гибкости и нуждался в том, чтобы мои данные объединялись несколько раз,
я должен пойти с Postgresql?
Это зависит от конкретной задачи, например, если вы разрабатываете систему отчетов, я предпочитаю использовать некоторую реляционную базу данных. Но иногда вместо объединений и отдельных коллекций вы можете встраивать документы + mongodb, хорошо подходящие для денормализации данных (и во многих ситуациях вы можете денормализовать в фоновом режиме, чтобы избежать объединений)
Я знаю, что у mongodb есть быстрое чтение / запись, но ему нужно запросить несколько
раз подражать соединениям. Так когда же это станет хитом производительности?
Если вы будете использовать mongodb в качестве обычной реляционной базы данных (без внедрения и денормализации), вы никогда не достигнете наилучшей производительности.
Ограничивает ли mongodb вашу способность создавать новые сложные отношения на
ваши данные, которых раньше не было?
Никакой mongodb не ограничивает вас, поскольку он не содержит никаких ограничений между коллекциями, такими как внешний ключ, в любой базе данных sql + он позволяет встраивать и легко денормализовать данные в соответствии с потребностями вашего бизнеса и достичь наилучшей производительности.