Anda pasti perlu mengoptimalkan kueri yang Anda lakukan.
Ini tebakan terbaik saya berdasarkan deskripsi Anda.
Anda mungkin ingin mengetahui semua Kartu Kredit untuk setiap Pelanggan, jadi simpanlah daftar kartu tersebut di dalam Objek Pelanggan. Anda juga mungkin ingin memiliki referensi Pelanggan untuk setiap Pembayaran. Ini akan membuat dokumen Pembayaran relatif kecil.
Objek Pembayaran akan secara otomatis memiliki ID dan indeksnya sendiri. Anda mungkin juga ingin menambahkan indeks pada referensi Pelanggan.
Ini akan memungkinkan Anda dengan cepat mencari Pembayaran oleh Pelanggan tanpa menyimpan seluruh objek pelanggan setiap saat.
Jika Anda ingin menjawab pertanyaan seperti "Berapa jumlah rata-rata yang dibayarkan semua pelanggan bulan lalu" Anda malah menginginkan peta/pengurangan untuk kumpulan data apa pun yang cukup besar. Anda tidak mendapatkan respons ini "waktu nyata". Anda akan menemukan bahwa menyimpan "referensi" ke Pelanggan mungkin cukup baik untuk pengurangan peta ini.
Jadi untuk menjawab pertanyaan Anda secara langsung:Apakah MongoDB dirancang untuk memilih banyak, banyak dokumen kecil atau lebih sedikit dokumen besar?
MongoDB dirancang untuk menemukan entri yang diindeks dengan sangat cepat. MongoDB sangat baik dalam menemukan beberapa jarum di tumpukan jerami yang besar. MongoDB bukan sangat pandai menemukan paling banyak dari jarum di tumpukan jerami. Jadi, bangun data Anda berdasarkan kasus penggunaan yang paling umum dan tulis peta/kurangi tugas untuk kasus penggunaan yang lebih jarang.