Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
$ SortArray
Baru dari versi 8.0
Tidak didukung oleh cluster elastis.
$sortArrayOperator di Amazon DocumentDB mengurutkan elemen array. Untuk array nilai skalar, array diurutkan berdasarkan nilai elemen. Untuk array dokumen, array diurutkan berdasarkan bidang atau bidang yang ditentukan. Operator mengembalikan array diurutkan dalam urutan ascending (1) atau descending (-1).
catatan
$sortArraydidukung dalam $project tahap pipa agregasi dengan perencana kueri versi 3.
Sintaksis
{ $sortArray: { input: <array>, sortBy: <sort specification> } }
Parameter
-
input: Array untuk mengurutkan. -
sortBy: Urutan sortir. Untuk array nilai skalar, tentukan1untuk naik atau-1turun. Untuk larik dokumen, tentukan dokumen formulir{ field: 1 }atau{ field: -1 }untuk setiap bidang yang akan diurutkan berdasarkan.
Contoh (MongoDB Shell)
Contoh berikut menunjukkan bagaimana menggunakan $sortArray operator untuk mengurutkan elemen array dalam urutan menaik.
Buat dokumen sampel
db.miles.insertMany([ { "_id" : 1, "member_since" : ISODate("1987-01-01T00:00:00Z"), "credit_card" : false, "flight_miles" : [ 1205, 2560, 880 ]}, { "_id" : 2, "member_since" : ISODate("1982-01-01T00:00:00Z"), "credit_card" : true, "flight_miles" : [ 1205, 2560, 890, 2780]}, { "_id" : 3, "member_since" : ISODate("1999-01-01T00:00:00Z"), "credit_card" : true, "flight_miles" : [ 1205, 880]} ]);
Contoh kueri
db.miles.aggregate([ { $project: { _id: 1, member_since: 1, credit_card: 1, sorted_flight_miles: { $sortArray: { input: "$flight_miles", sortBy: 1 } } } } ]);
Keluaran
{ "_id" : 1, "member_since" : ISODate("1987-01-01T00:00:00Z"), "credit_card" : false, "sorted_flight_miles" : [ 880, 1205, 2560 ] }
{ "_id" : 2, "member_since" : ISODate("1982-01-01T00:00:00Z"), "credit_card" : true, "sorted_flight_miles" : [ 890, 1205, 2560, 2780 ] }
{ "_id" : 3, "member_since" : ISODate("1999-01-01T00:00:00Z"), "credit_card" : true, "sorted_flight_miles" : [ 880, 1205 ] }
Dalam contoh ini, $sortArray operator mengurutkan flight_miles array dalam urutan menaik. sorted_flight_milesBidang yang dihasilkan dalam output menunjukkan elemen array dalam urutan diurutkan.
Contoh kode
Untuk melihat contoh kode untuk menggunakan $sortArray perintah, pilih tab untuk bahasa yang ingin Anda gunakan: