Trang chủ » Bài 9: Limit và orderby dữ liệu trong MongoDB

Bài 9: Limit và orderby dữ liệu trong MongoDB

Tác giả:
Đánh giá bài đăng
0
74

Tiếp tục với series, Ở bài trước mình đã giới thiệu với mọi người cách lấy ra tất cả các dữ liệu đang có trong colletion, bài này chúng ta sẽ tiếp tục tìm hiểu về cách giới hạn số lượng bản ghi được lấy ra và orderby dữ liệu được lấy ra trong MongoDB.

1, Giới hạn số lượng bản ghi trong MongoDB.

-Để có thể giới hạn số lượng bản ghi được lấy ra khi truy vấn thì các bạn chỉ cần thêm phương thức limit() vào phía sau phương thức find() theo cú pháp sau:

db.collectionName.find().limit(number)

Trong đó: number là số lượng bản ghi bạn muốn lấy ra.

VD1: Lấy ra tối đa 5 bản trong collection admin.

db.admin.find().limit(5).pretty()

find limit trong MongoDB

hình minh họa

2, Bỏ qua số lượng bản ghi trong MongoDB.

-Trong một số trường hợp, bạn muốn bỏ qua một hoặc nhiều bản ghi đầu trong số bản ghi được lấy ra thì trong MongoDB đã cung cấp cho chúng ta phương thức skip() để thực hiện điều đó.

db.collectionName.find().skip(numberSkip)

Trong đó: numberSkip là số lượng bản ghi mà bạn muốn bỏ qua. Mặc định thì skip bằng 0

VD2: Bỏ qua 3 bản ghi đầu trong số bản ghi được lấy ra.

db.admin.find().skip(3)

find() skip() trong MongoDB

hình minh họa

3, Sắp xếp dữ liệu trong MongoDB.

-Để có thể sắp xếp dữ liệu được trả về trong MongoDB thì các bạn sử dụng phương thức sort() theo cú pháp sau:

db.admin.find().sort({field: orderMode})

Trong đó:

  • field là trường chọn để sắp xếp dữ liệu.
  • orderMode là kiểu sắp xếp. Trong đó:
    • Nếu orderMode = 1 là sắp xếp theo chiều tăng dần.
    • orderMode = -1 là sắp xếp theo chiều giảm dần.

VD: Lấy ra tất cả các document có trong collection và sắp xếp theo độ dài của trường name giảm dần.

db.admin.find().sort({name: -1})

Find() sort() trong MongoDB

hình minh họa

4, Lời kết.

-Như vậy, phần này chúng ta đã giải quyết được 3 vấn đề:

  • limit dữ liệu trong MongoDB.
  • skip dữ liệu trong MongoDB.
  • order dữ liệu trong MongoDB.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Facebook Messenger Chat Zalo
Messenger Zalo