cari

Rumah  >  Soal Jawab  >  teks badan

mongoengine - MongoDB怎么设计多级分类好?

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

伊谢尔伦伊谢尔伦2802 hari yang lalu913

membalas semua(6)saya akan balas

  • 怪我咯

    怪我咯2017-04-22 09:01:46

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

    balas
    0
  • 天蓬老师

    天蓬老师2017-04-22 09:01:46

    Ini yang saya lakukan:

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

    Mudah dicari dan diberi kedudukan

    balas
    0
  • 怪我咯

    怪我咯2017-04-22 09:01:46

    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.

    balas
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-22 09:01:46

    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!

    balas
    0
  • ringa_lee

    ringa_lee2017-04-22 09:01:46

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

    balas
    0
  • PHP中文网

    PHP中文网2017-04-22 09:01:46

    Gunakan petikan.

    balas
    0
  • Batalbalas