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à.
$slice
L'operatore di $slice aggregazione consente di restituire un sottoinsieme di un array attraversando l'array dall'inizio o dalla fine dell'array. Viene utilizzato per visualizzare un numero limitato di elementi da un campo di matrice, ad esempio gli N elementi superiori o inferiori.
Parametri
-
array: Il campo dell'array da suddividere. -
n: un numero intero che specifica il numero di elementi da restituire. Un valore positivo inizia dall'inizio dell'array, mentre un valore negativo inizia dalla fine dell'array.
Esempio (MongoDB Shell)
L'esempio seguente mostra come $slice restituire i primi due dolci preferiti per ogni chef.
Crea documenti di esempio
db.sweets.insertMany([ { "_id" : 1, "name" : "Alvin", "favorites": [ "chocolate", "cake", "toffee", "beignets" ] }, { "_id" : 2, "name" : "Tom", "favorites": [ "donuts", "pudding", "pie" ] }, { "_id" : 3, "name" : "Jessica", "favorites": [ "fudge", "smores", "pudding", "cupcakes" ] }, { "_id" : 4, "name" : "Rachel", "favorites": [ "ice cream" ] } ]);
Esempio di interrogazione
db.sweets.aggregate([ { $project: { _id: 0, name: 1, topTwoFavorites: { $slice: [ "$favorites", 2 ] } } } ]);
Output
[
{ name: 'Alvin', topTwoFavorites: [ 'chocolate', 'cake' ] },
{ name: 'Tom', topTwoFavorites: [ 'donuts', 'pudding' ] },
{ name: 'Jessica', topTwoFavorites: [ 'fudge', 'smores' ] },
{ name: 'Rachel', topTwoFavorites: [ 'ice cream' ] }
]
In questo esempio, l'$sliceoperatore viene utilizzato per estrarre i primi due elementi dall'favoritesarray per ogni documento.
Esempi di codice
Per visualizzare un esempio di codice per l'utilizzo del $slice comando, scegliete la scheda relativa alla lingua che desiderate utilizzare: