MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Pagination sur tableau stocké dans un champ de document

Pour votre problème, vous avez besoin du $slice opérateur de projection au lieu de limit . Ce dernier limite le nombre de documents retourné à la suite de la requête. Au lieu de cela, le $slice est conçu pour exactement ce dont vous avez besoin.

Voici un exemple d'utilisation dans votre cas d'utilisation :

> db.getCollection('people').find({id: 2}, {_id: 0, animals: {$slice: [0, 3]}})
{
    "id" : 2,
    "name" : "Rob",
    "animals" : [
        "shark",
        "snake",
        "fish"
    ]
}