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ề. -
limit
tương tự nhưlimit
trong SQL, vàskip
tương tự như offset trong SQL.