Operatorul $slice în proiecție MongoDB în MongoDB & NoSQL

Limitează numărul de elemente returnate dintr-un tablou în etapa de proiecție a unei interogări fără a modifica documentul.

Sintaxă
db.collection.find(filter, { tablou: { $slice: numar | [skip, limit] } })

Ce este $slice în proiecție

Atunci când un document conține un tablou mare de elemente (de exemplu o listă lungă de comentarii sau jurnale de activitate), încărcarea întregului tablou în memorie este ineficientă. Operatorul $slice aplicat în proiecție (al doilea argument al lui find()) extrage doar o porțiune din tablou.

Puteți specifica un număr întreg pozitiv (primele N elemente), negativ (ultimele N elemente) sau o pereche de forma [skip, limit] pentru paginarea precisă a elementelor din tablou.

Exemplu Concret: Paginarea comentariilor unei postări
// Returnează doar ultimele 3 comentarii adăugate la articol
db.postari.find(
    { slug: "invata-mongodb" },
    {
        titlu: 1,
        comentarii: { $slice: -3 }
    }
);

// Paginare în tablou: sari peste primele 10 comentarii și adu următoarele 5
db.postari.find(
    { _id: ObjectId("65f123456789abcdef012345") },
    { comentarii: { $slice: [10, 5] } }
);

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Operatorul $slice în proiecție MongoDB

Ai o nelămurire despre utilizarea comenzii Operatorul $slice în proiecție MongoDB sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.