Rumah > Soal Jawab > teks badan
P粉0813607752023-09-03 00:53:03
Saya syorkan teknik pertama - pastinya lebih bersih dan mungkin lebih pantas. Anda harus memastikan untuk mengindeks medan author
- sama seperti anda mengindeks kunci asing dalam RDB.
P粉6765887382023-09-03 00:41:40
Terdapat beberapa perbezaan antara kedua-dua kaedah ini
Saya dapati pendekatan ini lebih intuitif dan boleh dibaca, dan oleh itu lebih mudah untuk dikekalkan, terutamanya untuk pertanyaan yang rumit
Walau bagaimanapun, ia mungkin bukan yang paling cekap apabila berurusan dengan jumlah data yang besar, kerana ia akan membuat panggilan tambahan ke pangkalan data untuk setiap medan bersarang. Ini boleh menjadi kesesakan prestasi apabila berurusan dengan sejumlah besar pertanyaan bersarang yang kompleks.
Sebaliknya, operasi $lookup secara amnya lebih berprestasi kerana mereka menggunakan satu panggilan pangkalan data untuk menyambung dan mendapatkan data.
Walau bagaimanapun, apabila kerumitan pertanyaan meningkat, operasi $lookup boleh menjadi rumit dan sukar untuk dibaca dan diselenggara. Ia mungkin memerlukan lebih banyak pengetahuan tentang bahasa pertanyaan MongoDB dan mungkin tidak semudah dan mudah untuk digunakan sebagai pendekatan penghurai. Agregat yang ditulis dengan buruk boleh menyebabkan masalah prestasi, jadi pastikan anda benar-benar yakin tentang perkara yang anda lakukan.
Jadi dalam contoh anda, saya tidak keberatan menggunakan pendekatan parser, pendekatan pertama akan lebih mudah dibaca/diperbaiki/diselenggara walaupun menggunakan pengagregatan lebih pantas.
Semoga ini membantu:)