Rumah > Soal Jawab > teks badan
文章以及课程模型需要定义所属分类,该分类是多级的,MongoDB中怎么设计比较合理?如果直接定义在文档里,担心一致性的问题!
怪我咯2017-04-22 09:01:46
Koleksi atau dokumen terbenam dalam MongoDB
Ya, pemikiran istimewa yang berkaitan
天蓬老师2017-04-22 09:01:46
Ini yang saya lakukan:
{
'name': '苹果',
'category1': '生鲜',
'category2': '水果'
}
Mudah dicari dan diberi kedudukan
怪我咯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
.
伊谢尔伦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!
ringa_lee2017-04-22 09:01:46
Hanya tentukan kategori sebagai dokumen bersarang kerana anda tidak akan mengemas kininya dengan kerap.