Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
$slice
El operador de $slice agregación permite devolver un subconjunto de una matriz recorriendo la matriz desde el principio o el final de la matriz. Se utiliza para mostrar un número limitado de elementos de un campo de matriz, como los N elementos superiores o inferiores.
Parámetros
-
array: El campo de matriz que se va a dividir. -
n: un entero que especifica el número de elementos que se van a devolver. Un valor positivo comienza desde el principio de la matriz, mientras que un valor negativo comienza desde el final de la matriz.
Ejemplo (MongoDB Shell)
El siguiente ejemplo muestra cómo se utilizan $slice para devolver los dos primeros dulces favoritos de cada chef.
Cree documentos de muestra
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" ] } ]);
Ejemplo de consulta
db.sweets.aggregate([ { $project: { _id: 0, name: 1, topTwoFavorites: { $slice: [ "$favorites", 2 ] } } } ]);
Salida
[
{ name: 'Alvin', topTwoFavorites: [ 'chocolate', 'cake' ] },
{ name: 'Tom', topTwoFavorites: [ 'donuts', 'pudding' ] },
{ name: 'Jessica', topTwoFavorites: [ 'fudge', 'smores' ] },
{ name: 'Rachel', topTwoFavorites: [ 'ice cream' ] }
]
En este ejemplo, el $slice operador se utiliza para extraer los dos primeros elementos de la favorites matriz de cada documento.
Ejemplos de código
Para ver un ejemplo de código para usar el $slice comando, elija la pestaña correspondiente al idioma que desee usar: