Jadi begini ceritanya:kami menambahkan tipe secara default sebagai semacam petunjuk kelas apa yang sebenarnya akan dibuat. Karena Anda harus memasukkan tipe untuk membaca dokumen melalui MongoTemplate
toh ada dua opsi yang mungkin:
- Anda menyerahkan tipe yang sebenarnya dapat ditetapkan untuk tipe tersimpan. Dalam hal ini kami mempertimbangkan tipe yang disimpan, gunakan itu untuk pembuatan objek. Contoh klasik di sini adalah melakukan kueri polimorfik. Misalkan Anda memiliki kelas abstrak
Contact
danPerson
. Anda . Anda kemudian dapat memintaContact
s dan kami pada dasarnya harus tentukan jenis yang akan dibuat. - Jika Anda - di sisi lain - memasukkan jenis yang sama sekali berbeda, kami hanya akan menyusun ke dalam jenis yang diberikan, bukan ke yang disimpan dalam dokumen sebenarnya. Itu akan mencakup pertanyaan Anda apa yang terjadi jika Anda memindahkan jenisnya.
Anda mungkin tertarik untuk menonton tiket ini yang mencakup beberapa jenis strategi pemetaan tipe yang dapat dipasang untuk mengubah informasi tipe menjadi tipe yang sebenarnya. Ini dapat berfungsi hanya untuk menghemat ruang karena Anda mungkin ingin mengurangi nama kelas panjang yang memenuhi syarat menjadi hash beberapa huruf. Ini juga akan memungkinkan skenario migrasi yang lebih kompleks di mana Anda mungkin menemukan kunci tipe arbitrer yang dihasilkan oleh klien penyimpanan data lain dan mengikatnya ke tipe Java.