Rumah > Artikel > hujung hadapan web > Bagaimana untuk Mengisih Tatasusunan Terbenam dalam Koleksi MongoDB?
Mengisih Tatasusunan Terbenam dalam Koleksi MongoDB
Masalah:
Anda mempunyai koleksi MongoDB rekod pelajar, setiap satu mengandungi tatasusunan markah yang dibenamkan. Anda ingin mengisih tatasusunan skor dalam susunan skor menurun untuk dokumen tertentu.
Penyelesaian:
Untuk mengisih tatasusunan terbenam, anda boleh menggunakan sama ada kod aplikasi tersuai atau Rangka Kerja Pengagregatan yang diperkenalkan dalam MongoDB 2.2.
Menggunakan Rangka Kerja Pengagregatan:
Talian paip pengagregatan cangkang MongoDB berikut mengisih tatasusunan skor dokumen dengan _id 1 dalam susunan menurun daripada skor:
db.students.aggregate( { $match: { _id : 1 }}, { $unwind: '$scores' }, { $match: { 'scores.type': 'homework' }}, { $sort: { 'scores.score': -1 }} )
Output:
Pengagregatan ini menghasilkan output berikut, menunjukkan markah kerja rumah yang diisih untuk pelajar dengan _id 1:
{ "result" : [ { "_id" : 1, "name" : "Aurelia Menendez", "scores" : { "type" : "homework", "score" : 71.76133439165544 } }, { "_id" : 1, "name" : "Aurelia Menendez", "scores" : { "type" : "homework", "score" : 34.85718117893772 } } ], "ok" : 1 }
Atas ialah kandungan terperinci Bagaimana untuk Mengisih Tatasusunan Terbenam dalam Koleksi MongoDB?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!