Giới thiệu chương
Chương này mô tả về truy vấn phân trang trong MongoDB, tương tự như việc sử dụng phân trang trong MYSQL. Truy vấn phân trang của MongoDB được thực hiện thông qua các hàm .limit và .skip của Cursor.
Dữ liệu thử nghiệm
Thêm một số dữ liệu vào bộ sưu tập inventory
db.inventory.insertMany( [
{ item: "sổ tay", status: "A", size: { h: 14, w: 21, uom: "cm" }, instock: [ { warehouse: "A", qty: 5 } ] },
{ item: "quyển vở", status: "A", size: { h: 8.5, w: 11, uom: "in" }, instock: [ { warehouse: "C", qty: 5 } ] },
{ item: "giấy", status: "D", size: { h: 8.5, w: 11, uom: "in" }, instock: [ { warehouse: "A", qty: 60 } ] },
{ item: "lịch kế hoạch", status: "D", size: { h: 22.85, w: 30, uom: "cm" }, instock: [ { warehouse: "A", qty: 40 } ] },
{ item: "bưu thiếp", status: "A", size: { h: 10, w: 15.25, uom: "cm" }, instock: [ { warehouse: "B", qty: 15 }, { warehouse: "C", qty: 35 } ] }
]);
Giới hạn dữ liệu trả về
db.inventory.find({}).limit(5)
Giải thích:
- Sử dụng hàm
limitđể đặt số lượng tối đa dữ liệu trả về.
Phân trang
db.inventory.find({}).limit(5).skip(2)
Giải thích:
- Bằng cách đặt
skipđể bỏ qua một số lượng dữ liệu vàlimitđể giới hạn số lượng dữ liệu trả về. -
limittương tự nhưlimittrong SQL, vàskiptương tự như offset trong SQL.