Sebelum berbicara tentang kemungkinan solusi, saya hanya ingin menyoroti mengapa MongoDB memilih untuk menegakkan pembatasan ini pada pengindeksan array paralel. Saat Anda mengindeks array di MongoDB, itu membuat indeks multikey dengan satu kunci per elemen array. Oleh karena itu, jika Anda membuat indeks gabungan pada dua larik, satu dengan nilai M berbeda dan satu dengan N nilai berbeda, indeks pada dasarnya memiliki kunci MN. Ini sangat buruk - tidak linier dalam jumlah elemen array yang berbeda. Pertimbangkan jumlah pekerjaan yang diperlukan untuk mempertahankan indeks seperti ini saat Anda menambahkan atau menghapus elemen array.
Oke, selain pembenaran, untuk mengatasi pembatasan ini akan sangat membantu untuk menggunakan versi MongoDB saat ini (2.6), yang mendukung persimpangan indeks. Seseorang dapat membuat indeks di CustomerInformations
dan VehicleLicenseDisks
lalu MongoDB dapat menggunakan kedua indeks dan memotongnya untuk melayani kueri yang memiliki batasan pada keduanya.
Jika Anda, karena alasan apa pun, terjebak dengan MongoDB <2.6, maka opsi Anda adalah mempertimbangkan untuk mendesain ulang skema atau bergantung pada indeks yang menggunakan paling banyak salah satu bidang array.