Trung BìnhMongoDB iconMongoDB

`Cursor` trong MongoDB là gì và vì sao cần pagination?

Hàm find() không nạp hết kết quả vào RAM ngay, mà trả về một cursor — con trỏ tới tập kết quả. Khi bạn duyệt cursor, MongoDB lấy dữ liệu theo từng batch nhỏ.

Vì vậy khi làm API trả danh sách, đừng toArray() trên collection lớn (dễ nổ RAM). Hãy phân trang: limit() + skip() cho dữ liệu nhỏ, hoặc keyset/cursor pagination (lọc theo _id/timestamp của trang trước) cho dữ liệu lớn — vì skip() càng về sau càng chậm.

Xem toàn bộ MongoDB cùng filter theo level & chủ đề con.

Mở danh sách MongoDB