mongoose - 关于mongodb的建模,有人建议我 把 “商品”的“品牌名” 从ObjectId 转为 string,这样好吗?
天蓬老师
天蓬老师 2017-04-25 09:02:36
0
1
667

他说这样更方便查询,是呀,傻子也知道这样便于查询。我质疑说这样在存储时会不好,但他说有shortId什么的,求解答!

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

membalas semua(1)
给我你的怀抱

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.

Jika ditetapkan kepada Object Contohnya:

javascript{
    item:"",
    price:100,
    brand:{
        name: "micorsoft",
        country: "US"
    }
}

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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan