MongoDB là cơ sở dữ liệu NoSQL, nghĩa là không có bảng. Dữ liệu được lưu trữ ở định dạng JSON. Một bộ sưu tập duy nhất có thể bao gồm nhiều tài liệu. Có thể có hàng nghìn tài liệu trong một bộ sưu tập. Không phải lúc nào chúng ta cũng cần xem qua mọi tài liệu. Chúng ta có thể bỏ qua các tài liệu bằng phương pháp bỏ qua. Trong bài viết này, chúng ta sẽ tìm hiểu về phương thức bỏ qua và hiệu suất của nó
Nhảy()
Phương thức bỏ qua trong MongoDB được sử dụng để bỏ qua các tài liệu trong khi tìm nạp. Đó là một phương pháp hữu ích. Giả sử có rất nhiều tài liệu trong một bộ sưu tập. Chúng tôi cần lấy tất cả các tài liệu ngoại trừ năm mươi đầu tiên. Làm thế nào chúng ta có thể làm điều đó? . Hãy thảo luận chi tiết về phương pháp bỏ qua
Ta sẽ thực hiện thao tác bỏ qua trên tập hợp chi tiết
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
> db. thông tin chi tiết. tìm thấy(). đẹp()
{
"_Tôi". ObjectId("5d52ff3c2daf944acd3099fb"),
"Tên". "John",
"vị trí". "Newyork"
}
{
"_Tôi". ObjectId("5d52ff432daf944acd3099fc"),
"Tên". "Lisa",
"vị trí". "Newyork"
}
{
"_Tôi". ObjectId("5d52ff4e2daf944acd3099fd"),
"Tên". "màu hồng",
"vị trí". "Chicago"
}
{
"_Tôi". ObjectId("5d52ff5b2daf944acd3099fe"),
"Tên". "Đá",
"vị trí". "Detroit"
}
{
"_Tôi". ObjectId("5d52ff622daf944acd3099ff"),
"Tên". "Sâm",
"vị trí". "Texas"
}
{
"_Tôi". ObjectId("5d52ff6e2daf944acd309a00"),
"Tên". "Bốp",
"vị trí". "Texas"
}
{
"_Tôi". ObjectId("5d52ff802daf944acd309a01"),
"Tên". "Billy",
"vị trí". "Washington DC"
}
{
"_Tôi". ObjectId("5d52ff932daf944acd309a02"),
"Tên". "Sophie",
"vị trí". "Newyork"
}
{
"_Tôi". ObjectId("5d52ffa62daf944acd309a03"),
"Tên". "Sư Tử",
"vị trí". "Chicago"
}
{
"_Tôi". ObjectId("5d52ffbc2daf944acd309a04"),
"Tên". "soái ca",
"vị trí". "California"
}
>
Bộ sưu tập chi tiết có mười tài liệu. Mỗi tài liệu chứa tên của một nhân viên và vị trí. Chúng tôi đã sử dụng phương thức find để lấy tất cả các tài liệu. Tất nhiên, chúng tôi có thể sử dụng truy vấn và phép chiếu để lọc kết quả nhưng chúng tôi muốn bỏ qua năm tài liệu đầu tiên. Chúng tôi không cần năm tài liệu đầu tiên. Chúng ta có thể làm gì? . Hãy xem cách chúng ta có thể sử dụng phương pháp bỏ qua
db. thông tin chi tiết
. tìm thấy()
. bỏ qua(5)
. đẹp();
Phương thức bỏ qua được viết ngay sau phương thức tìm. Giá trị được chuyển đến hàm bỏ qua xác định số lượng tài liệu chúng tôi muốn bỏ qua. Chúng tôi đã chuyển năm làm giá trị vì chúng tôi muốn bỏ qua năm tài liệu đầu tiên. Hãy xác minh kết quả của lệnh trên
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
"_Tôi". ObjectId("5d52ff6e2daf944acd309a00"),
"Tên". "Bốp",
"vị trí". "Texas"
}
{
"_Tôi". ObjectId("5d52ff802daf944acd309a01"),
"Tên". "Billy",
"vị trí". "Washington DC"
}
{
"_Tôi". ObjectId("5d52ff932daf944acd309a02"),
"Tên". "Sophie",
"vị trí". "Newyork"
}
{
"_Tôi". ObjectId("5d52ffa62daf944acd309a03"),
"Tên". "Sư Tử",
"vị trí". "Chicago"
}
{
"_Tôi". ObjectId("5d52ffbc2daf944acd309a04"),
"Tên". "soái ca",
"vị trí". "California"
}
>
Đầu ra chứa tất cả các tài liệu ngoại trừ năm tài liệu đầu tiên. Đây là cách phương thức bỏ qua hoạt động. Hãy nhớ rằng, chúng ta cần truyền một số nguyên dương cho hàm bỏ qua. Nếu không, đầu ra sẽ chứa tất cả các tài liệu của hiện tại trong bộ sưu tập. Giá trị âm sẽ dẫn đến lỗi
Bỏ qua hiệu suất
Phương pháp bỏ qua hữu ích theo nhiều cách khác nhau. Nhưng nó có vấn đề về hiệu suất khi có một số lượng lớn tài liệu trong một bộ sưu tập. Khi chúng tôi bỏ qua năm tài liệu đầu tiên, điều đó không có nghĩa là, phương pháp tìm trực tiếp đến tài liệu thứ sáu. Nó phải lặp lại tất cả các tài liệu để đạt đến điểm đã chỉ định và sau đó nó trả về các tài liệu. Điều này là bình thường trong một bộ sưu tập có mười tài liệu. Nhưng điều gì sẽ xảy ra khi có một nghìn tài liệu trong một bộ sưu tập và chúng tôi muốn bỏ qua năm trăm tài liệu đầu tiên? . Phương pháp bỏ qua sẽ trở nên rất chậm
Phương thức bỏ qua không sử dụng các chỉ mục. Nó phải lặp lại tất cả tài liệu trước khi đến tài liệu được chỉ định. Đây là lý do tại sao phương pháp bỏ qua không được khuyến nghị cho một bộ sưu tập chứa một số lượng lớn tài liệu. Mặc dù, nó hoạt động tốt với số lượng tài liệu nhỏ hơn
Phần kết luận
Phương pháp bỏ qua rất hữu ích khi làm việc trên một bộ sưu tập chứa một số lượng nhỏ tài liệu. Chúng tôi có thể trực tiếp chuyển đến tài liệu mong muốn. Nhưng trong trường hợp có hàng tấn tài liệu, hiệu suất của nó giảm xuống. Vì vậy, không nên sử dụng phương pháp bỏ qua khi có một lượng lớn tài liệu trong một bộ sưu tập