MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Paginierung in einem Array, das in einem Dokumentfeld gespeichert ist

Für Ihr Problem benötigen Sie den $slice Projektionsoperator statt limit . Letzteres begrenzt die Anzahl der Dokumente als Ergebnis der Abfrage zurückgegeben. Stattdessen das $slice Operator ist genau für das gedacht, was Sie brauchen.

Hier ist ein Beispiel, wie Sie es in Ihrem Anwendungsfall verwenden können:

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