Untuk CouchDB, saya sangat merekomendasikan membaca artikel ini tentang Hubungan Entitas.
Satu hal yang akan saya perhatikan di CouchDB adalah berhati-hati dalam mencoba "menormalkan" model data non-relasional. Penyimpanan berbasis dokumen menawarkan Anda banyak fleksibilitas, dan bukanlah ide terbaik untuk mengabstraksikan semuanya ke dalam "jenis dokumen" sebanyak yang Anda pikirkan. Sering kali, yang terbaik adalah meninggalkan sebagian besar data Anda dalam dokumen yang sama kecuali Anda memiliki kasus yang jelas di mana terdapat entitas yang terpisah.
Salah satu kasus penggunaan umum dari hubungan banyak ke banyak adalah menerapkan penandaan. Ada artikel tentang berbagai metode yang dapat Anda gunakan untuk melakukannya di CouchDB. Ini mungkin berlaku untuk kebutuhan Anda, mungkin tidak, tetapi mungkin layak untuk dibaca.