Ini memerlukan analisis terperinci perniagaan tertentu.
Jika nama jenama ditetapkan kepada ObjectId, bermakna terdapat satu lagi collection yang menyimpan jenama tersebut. Ini ialah kaedah pangkalan data relasi biasa Untuk mongodb, setiap kali anda ingin mendapatkan nama jenama produk, anda memerlukan satu lagi operasi baca.
Jika ditetapkan kepada String, semua maklumat produk dan nama jenama boleh diambil dalam satu operasi, tetapi sangat menyusahkan untuk mengubah suai jenama Jika anda juga perlu mendapatkan beberapa maklumat tentang jenama dalam satu permintaan, seperti negara di mana jenama itu terletak, Kemudian anda masih perlu melakukan pertanyaan semula, kerana skalabiliti tidak cukup baik.
Ini boleh menyelesaikan masalah kebolehskalaan, dan kelajuan pertanyaan juga sangat pantas Jika maklumat jenama produk tidak dikemas kini dengan kerap, maka saya mengesyorkan ini. Walaupun tahap redundansi data meningkat, kelajuan pertanyaan dipertingkatkan Ini adalah anti-paradigma.
Jika maklumat jenama dikemas kini dengan kerap, maka lebih baik menggunakan ObjectId Walaupun memerlukan satu pertanyaan lagi, ia meningkatkan kebolehpercayaan.
Ini memerlukan analisis terperinci perniagaan tertentu.
Jika nama jenama ditetapkan kepada
ObjectId
, bermakna terdapat satu lagicollection
yang menyimpan jenama tersebut. Ini ialah kaedah pangkalan data relasi biasa Untuk mongodb, setiap kali anda ingin mendapatkan nama jenama produk, anda memerlukan satu lagi operasi baca.Jika ditetapkan kepada
String
, semua maklumat produk dan nama jenama boleh diambil dalam satu operasi, tetapi sangat menyusahkan untuk mengubah suai jenama Jika anda juga perlu mendapatkan beberapa maklumat tentang jenama dalam satu permintaan, seperti negara di mana jenama itu terletak, Kemudian anda masih perlu melakukan pertanyaan semula, kerana skalabiliti tidak cukup baik.Jika ditetapkan kepada
Object
Contohnya:Ini boleh menyelesaikan masalah kebolehskalaan, dan kelajuan pertanyaan juga sangat pantas Jika maklumat jenama produk tidak dikemas kini dengan kerap, maka saya mengesyorkan ini. Walaupun tahap redundansi data meningkat, kelajuan pertanyaan dipertingkatkan Ini adalah anti-paradigma.
Jika maklumat jenama dikemas kini dengan kerap, maka lebih baik menggunakan
ObjectId
Walaupun memerlukan satu pertanyaan lagi, ia meningkatkan kebolehpercayaan.