Mike,
Anda harus dapat menyimpan data hubungan Anda dalam basis data grafik. Performanya yang tinggi dalam melintasi grafik besar berasal dari lokalitas, yaitu Anda tidak menjalankan kueri secara global melainkan memulai satu set node (yang sama dengan dokumen dalam kasus Anda, yang dicari oleh indeks. Anda bahkan dapat menyimpan start-node- id untuk akses cepat dalam dokumen mongo Anda). Dari sana Anda dapat melintasi jalur besar yang sewenang-wenang dalam waktu yang konstan (ukuran kumpulan data wrt).
Apa persyaratan Anda yang lain (yaitu ukuran kumpulan data, # akses bersamaan, dll., kompleksitas hubungan/grafik).
Kueri Anda sangat cocok untuk basis data grafik dan mudah diungkapkan dalam istilahnya.
Sebaiknya ambil graphdb seperti neo4j dan lakukan lonjakan cepat dengan domain Anda untuk memverifikasi kelayakan umum dan juga mencari tahu pertanyaan tambahan yang ingin Anda jawab sebelum berinvestasi di teknologi kedua.
P.S. Jika Anda belum memulai, Anda juga bisa menggunakan pendekatan graphdb murni karena basis data grafik adalah superset dari basis data dokumen. Dan Anda lebih suka membicarakan domain dalam kasus Anda daripada hanya dokumen generik. (Misalnya structr adalah CMS yang dibangun di atas Neo4j).