Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
$slice
L'opérateur d'$sliceagrégation vous permet de renvoyer un sous-ensemble d'un tableau en parcourant le tableau depuis le début ou la fin du tableau. Ceci est utilisé pour afficher un nombre limité d'éléments d'un champ de tableau, tels que les N éléments du haut ou du bas.
Paramètres
-
array: champ du tableau à découper. -
n: entier qui indique le nombre d'éléments à renvoyer. Une valeur positive commence au début du tableau, tandis qu'une valeur négative commence à la fin du tableau.
Exemple (MongoDB Shell)
L'exemple suivant montre comment utiliser $slice pour renvoyer les deux premiers bonbons préférés à chaque chef.
Création d'exemples de documents
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" ] } ]);
Exemple de requête
db.sweets.aggregate([ { $project: { _id: 0, name: 1, topTwoFavorites: { $slice: [ "$favorites", 2 ] } } } ]);
Sortie
[
{ name: 'Alvin', topTwoFavorites: [ 'chocolate', 'cake' ] },
{ name: 'Tom', topTwoFavorites: [ 'donuts', 'pudding' ] },
{ name: 'Jessica', topTwoFavorites: [ 'fudge', 'smores' ] },
{ name: 'Rachel', topTwoFavorites: [ 'ice cream' ] }
]
Dans cet exemple, l'$sliceopérateur est utilisé pour extraire les deux premiers éléments du favorites tableau pour chaque document.
Exemples de code
Pour afficher un exemple de code d'utilisation de la $slice commande, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :