Логично и можно строить сложные структуры в монге.
Но имхо, стоит брать какой-нибудь фреймворк для этого.
Например, в python есть фреймворк mongoengine.org
Можно использовать Mongo для связанных полей, но лучше не изобретать велосипед, а брать готовый фреймворк, который это умеет из коробки. Например, mongoengine для python.