View a markdown version of this page

$sortArray - Amazon DocumentDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

$sortArray

Nuovo dalla versione 8.0

Non supportato dal cluster Elastic.

L'$sortArrayoperatore in Amazon DocumentDB ordina gli elementi di un array. Per gli array di valori scalari, l'array viene ordinato per valore dell'elemento. Per gli array di documenti, l'array viene ordinato in base al campo o ai campi specificati. L'operatore restituisce l'array ordinato in ordine crescente (1) o decrescente (). -1

Nota

$sortArrayè supportato nella $project fase della pipeline di aggregazione con la versione 3 di Query Planner.

Sintassi

{ $sortArray: { input: <array>, sortBy: <sort specification> } }

Parametri

  • input: L'array da ordinare.

  • sortBy: Il criterio di ordinamento. Per una matrice di valori scalari, specificare 1 se è crescente o -1 decrescente. Per una serie di documenti, specificate un documento del modulo { field: 1 } o { field: -1 } per ogni campo in base al quale ordinare.

Esempio (MongoDB Shell)

L'esempio seguente mostra come utilizzare l'$sortArrayoperatore per ordinare gli elementi di un array in ordine crescente.

Crea documenti di esempio

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]} ]);

Esempio di interrogazione

db.miles.aggregate([ { $project: { _id: 1, member_since: 1, credit_card: 1, sorted_flight_miles: { $sortArray: { input: "$flight_miles", sortBy: 1 } } } } ]);

Output

{ "_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 ] }

In questo esempio, l'$sortArrayoperatore ordina l'flight_milesarray in ordine crescente. Il sorted_flight_miles campo risultante nell'output mostra gli elementi dell'array in ordine ordinato.

Esempi di codice

Per visualizzare un esempio di codice per l'utilizzo del $sortArray comando, scegliete la scheda relativa alla lingua che desiderate utilizzare:

Node.js

Ecco un esempio di utilizzo dell'$sortArrayoperatore in un' Node.js applicazione:

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

Ecco un esempio di utilizzo dell'$sortArrayoperatore in un'applicazione 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()