Rate this post

Trong MongoDB, phương thức limit () được sử dụng để giới hạn các trường tài liệu mà bạn muốn hiển thị. Đôi khi, bạn có rất nhiều trường trong bộ sưu tập cơ sở dữ liệu của mình và chỉ phải truy xuất 1 hoặc 2. Trong trường hợp đó, phương thức limit () được sử dụng.

Các bài viết liên quan:

Giới thiệu về Method limit() trong MongoDB

Method limit() trong MongoDB là một phương thức được sử dụng để giới hạn số lượng kết quả trả về từ một truy vấn. Khi áp dụng phương thức limit() vào một truy vấn, chỉ số lượng mong muốn của các bản ghi đầu tiên sẽ được trả về trong kết quả.

Phương thức limit() có thể được áp dụng cho cả truy vấn đơn giản và truy vấn kết hợp với các phương thức khác như find() hoặc aggregate() để thực hiện các tác vụ phức tạp hơn như phân trang kết quả.

Xem thêm Mệnh đề Limit trong SQL

Việc sử dụng Method limit() trong MongoDB cho phép chúng ta kiểm soát số lượng kết quả trả về, giúp tăng hiệu suất và giảm tải cho hệ thống cơ sở dữ liệu. Nó cũng hữu ích trong việc thực hiện phân trang, nơi chúng ta chỉ muốn lấy một phần kết quả mỗi lần truy vấn.

Method limit() có thể được áp dụng trực tiếp vào một truy vấn bằng cách sử dụng cú pháp “limit(n)” trong đó n là số lượng mong muốn của kết quả trả về.

Ví dụ: Để giới hạn kết quả trả về 5 bản ghi đầu tiên từ một bảng dữ liệu có tên là “users”, chúng ta có thể sử dụng câu lệnh sau:

db.users.find().limit(5)

Trên đây là một giới thiệu về Method limit() trong MongoDB. Chúng ta sẽ tìm hiểu thêm về cách sử dụng và các ví dụ cụ thể trong các phần tiếp theo của bài viết.

Phương thức MongoDB limit () được sử dụng với phương thức find ().

Cú pháp:

db.COLLECTION_NAME.find().limit(NUMBER)   

Kịch bản:

Hãy xem xét một ví dụ có tên bộ sưu tập là mongotest.

Collection này có các trường sau bên trong nó.

[  
  {  
    Course: "Java",  
    details: { Duration: "6 months", Trainer: "test1" },  
    Batch: [ { size: "Medium", qty: 25 } ],  
    category: "Programming Language1"  
  },  
  {  
    Course: ".Net",  
    details: { Duration: "6 months", Trainer: "test2" },  
    Batch: [ { size: "Small", qty: 5 }, { size: "Medium", qty: 10 }, ],  
    category: "Programming Language2"  
  },  
  {  
    Course: "Web Designing",  
    details: { Duration: "3 months", Trainer: "test3" },  
    Batch: [ { size: "Small", qty: 5 }, { size: "Large", qty: 10 } ],  
    category: "Programming Language3"  
  }  
];  

Ở đây, bạn chỉ phải hiển thị một trường bằng cách sử dụng phương thức limit ().

Ví dụ

db.mongotest.find().limit(1)  

Sau khi thực hiện, bạn sẽ nhận được kết quả sau

Đầu ra:

{ "_id" : ObjectId("564dbced8e2c097d15fbb601"), "Course" : "Java", "details" : {
 "Duration" : "6 months", "Trainer" : "test1" }, "Batch" : [ { "size" :
"Medium", "qty" : 25 } ], "category" : "Programming Language1" } 

Xem thêm Tìm Optimal Page Size trong hệ điều hành

Phương thức skip() MongoDB

Cú pháp

db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)   

Script:

Ở đây cũng xem xét ví dụ đã thảo luận ở trên. Bộ sưu tập test có ba tài liệu.

[  
  {  
    Course: "Java",  
    details: { Duration: "6 months", Trainer: "test1" },  
    Batch: [ { size: "Medium", qty: 25 } ],  
    category: "Programming Language1"  
  },  
  {  
    Course: ".Net",  
    details: { Duration: "6 months", Trainer: "test2" },  
    Batch: [ { size: "Small", qty: 5 }, { size: "Medium", qty: 10 }, ],  
    category: "Programming Language2"  
  },  
  {  
    Course: "Web Designing",  
    details: { Duration: "3 months", Trainer: "test3" },  
    Batch: [ { size: "Small", qty: 5 }, { size: "Large", qty: 10 } ],  
    category: "Programming Language3"  
  }  
];  

Thực hiện truy vấn sau để chỉ lấy một tài liệu và bỏ qua 2 tài liệu.

Ví dụ

db.test.find (). limit (1) .skip (2)

Sau khi thực hiện, bạn sẽ nhận được kết quả sau

Đầu ra:

{ "_id" : ObjectId("564dbced8e2c097d15fbb603"), "Course" : "Web Designing", "det
ails" : { "Duration" : "3 months", "Trainer" : "Rashmi Desai" }, "Batch" : [ { "
size" : "Small", "qty" : 5 }, { "size" : "Large", "qty" : 10 } ], "category" : "
Programming Language" }

Như bạn có thể thấy, phương thức skip() đã bỏ qua tài liệu thứ nhất và thứ hai và chỉ hiển thị tài liệu thứ ba.

Xem thêm LAST trong SQL

Cách sử dụng Method limit() trong MongoDB

Để sử dụng phương thức limit() trong MongoDB, bạn có thể áp dụng nó sau khi gọi phương thức find() hoặc aggregate() trong truy vấn.

Ví dụ, để lấy 5 bản ghi đầu tiên từ một bảng dữ liệu có tên là “users”, bạn có thể sử dụng câu lệnh sau:

db.users.find().limit(5);

Kết quả sẽ chỉ chứa 5 bản ghi đầu tiên từ bảng “users”.

Nếu bạn muốn kết hợp nhiều điều kiện và sử dụng phương thức limit() trong một truy vấn phức tạp hơn, ví dụ như tìm kiếm các bản ghi có trường “age” lớn hơn 18 và giới hạn kết quả trả về 10 bản ghi, bạn có thể thực hiện như sau:

db.users.find({ age: { $gt: 18 } }).limit(10);

Trong ví dụ này, truy vấn sẽ lấy ra 10 bản ghi đầu tiên từ bảng “users” có trường “age” lớn hơn 18.

Ngoài ra, bạn cũng có thể kết hợp phương thức limit() với phương thức skip() để thực hiện phân trang kết quả truy vấn.

Ví dụ, để lấy 10 bản ghi bắt đầu từ vị trí thứ 5 từ bảng “users”, bạn có thể sử dụng câu lệnh sau:

db.users.find().skip(4).limit(10);

Trên đây là cách sử dụng phương thức limit() trong MongoDB. Bạn có thể điều chỉnh giá trị của phương thức limit() để giới hạn số lượng bản ghi trả về từ truy vấn của mình.

Xem thêm annotation trong java

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 *

Contact Me on Zalo
Call now