mongoengine - MongoDB怎么设计多级分类好?
伊谢尔伦
伊谢尔伦 2017-04-22 08:59:46
0
6
853

文章以及课程模型需要定义所属分类,该分类是多级的,MongoDB中怎么设计比较合理?如果直接定义在文档里,担心一致性的问题!

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

membalas semua(6)
刘奇

Koleksi atau dokumen terbenam dalam MongoDB
Ya, pemikiran istimewa yang berkaitan

Peter_Zhu

Ini yang saya lakukan:

{
    'name': '苹果',
    'category1': '生鲜',
    'category2': '水果'
}

Mudah dicari dan diberi kedudukan

刘奇

Jika dokumen terbenam create/delete/update/ beroperasi dengan kerap, dan terdapat keperluan untuk mengisih semasa mengambil data, adalah lebih baik untuk mempunyai paling banyak tiga peringkat dan jangan membenamkannya terlalu dalam.
Sekarang saya mempunyai terlalu banyak collection yang tertanam di dalamnya, yang menjadikan banyak operasi sangat menyusahkan, jadi saya perlu menghabiskan banyak usaha untuk mengeluarkannya extract.
Sudah tentu, jika anda hanya mahu menyimpan data sekali sahaja dan operasi data kebanyakannya membaca, anda tidak perlu berfikir terlalu banyak.
Seperti klasifikasi artikel kursus yang anda cadangkan, jika saya memahami keperluan dengan betul, bolehkah seperti ini:

"_id":
"name" : 
"category" : [ 
    {
        "_id" : 
        "name" : 
        "degree" :
    }, 
    {
        "_id" : 
        "name" : 
        "degree" :
    }, 
]

degree mewakili tahap dalam kategori kursus Dengan cara ini, kategori artikel dalam kursus dibaca mengikut degree semasa membaca. Sebagai contoh, artikel ialah "Hukum Kedua Newton" dan klasifikasi kursusnya ialah (Fizik -> Daya). Kemudian simpannya sebagai:

"_id":
"name" : 
"category" : [ 
    {
        "_id" : 
        "name" : '物理'
        "degree" : 1
    }, 
    {
        "_id" : 
        "name" : '力'
        "degree" : 2
    }, 
]

Apabila membaca data, tekan category dan degree untuk sort.

伊谢尔伦

Ini sebenarnya pertukaran reka bentuk, dan ia tiada kaitan dengan mongdb Malah mysql masih perlu memikirkan isu ini!
Secara peribadi, saya merasakan bahawa kita masih perlu bermula dari sudut perniagaan dan memikirkan sama ada data perniagaan yang akan dianalisis memenuhi kekangan, contohnya, sama ada ia memerlukan konsistensi masa nyata atau konsistensi akhir.

Di peringkat lain, untuk mongdb sendiri, dokumen terbenamnya tidak jauh berbeza daripada dokumen biasa Namun, jika dokumen terbenam yang anda ingin tambahkan adalah dokumen yang kerap berubah, terutamanya jika tiada had pada saiz, anda harus. masih guna persatuan Lebih sesuai!

左手右手慢动作

Hanya tentukan kategori sebagai dokumen bersarang kerana anda tidak akan mengemas kininya dengan kerap.

Ty80

Gunakan petikan.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!