View a markdown version of this page

$ SortArray - Amazon DocumentDB

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, tentukan 1 untuk naik atau -1 turun. 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:

Node.js

Berikut adalah contoh penggunaan $sortArray operator dalam Node.js aplikasi:

const { MongoClient } = require('mongodb'); async function sortArray() { const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'); const db = client.db('test'); const collection = db.collection('miles'); const result = await collection.aggregate([ { $project: { _id: 1, member_since: 1, credit_card: 1, sorted_flight_miles: { $sortArray: { input: '$flight_miles', sortBy: 1 } } } } ]).toArray(); console.log(result); client.close(); } sortArray();
Python

Berikut adalah contoh penggunaan $sortArray operator dalam aplikasi Python:

from pymongo import MongoClient def sort_array(): client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') db = client.test collection = db.miles result = list(collection.aggregate([ { '$project': { '_id': 1, 'member_since': 1, 'credit_card': 1, 'sorted_flight_miles': { '$sortArray': { 'input': '$flight_miles', 'sortBy': 1 } } } } ])) print(result) client.close() sort_array()