L’opérateur de décalage dans MongoDB est $slice. Il est utilisé pour limiter le nombre de documents renvoyés dans un tableau d’un document MongoDB. Voici comment vous pouvez l’utiliser :
Considérons la collection suivante :
```
posts = [
{
_id: 1,
title: “Post 1”,
comments: [“Comment 1”, “Comment 2”, “Comment 3”, “Comment 4”]
},
{
_id: 2,
title: “Post 2”,
comments: [“Comment 1”, “Comment 2”, “Comment 3”]
}
]
```
Si vous voulez obtenir juste le dernier commentaire de chaque post, vous pouvez utiliser $slice de cette façon :
```
db.posts.find( {}, { comments: { $slice: -1 } } )
```
Ici, -1 indique que vous voulez juste le dernier élément du tableau.
Si vous voulez obtenir les deux derniers commentaires, vous pouvez modifier la requête comme ceci :
```
db.posts.find( {}, { comments: { $slice: -2 } } )
```
Et si vous voulez sauter le premier commentaire et prendre les deux suivants, vous pouvez utiliser $slice avec deux arguments :
```
db.posts.find( {}, { comments: { $slice: [1, 2] } } )
```
Ici, le premier argument est l’index à partir duquel commencer et le deuxième argument est le nombre d’éléments à prendre. Dans cet exemple, le tableau final des commentaires contiendra juste : [“Comment 2”, “Comment 3”].