Tính trung bình dưới dạng tích lũy và không tích lũy. Nguồn. Moveable from MongoDB Docs 2021h
Toán tử biểu thức có tên và nhận một mảng đối số hoặc một đối số. MongoDB có rất nhiều toán tử như vậy. Bằng cách làm quen với những điều này, các nhà phát triển có thể đơn giản hóa mã ứng dụng của họ bằng cách thực hiện hầu hết quá trình xử lý trong MongoDB
Có nhiều loại toán tử biểu thức. số học, Boolean, so sánh, có điều kiện, kích thước dữ liệu, ngày, chữ, đối tượng, tập hợp, chuỗi, văn bản, lượng giác, loại, v. v. Tùy chỉnh biểu thức bao gồm _______23 và _______24. Các nhà phát triển có thể viết các hàm JavaScript tùy chỉnh [MongoDB 4. 4] for the following
Tích lũy là toán tử biểu thức đặc biệt tính toán tổng, cực đại, cực tiểu và các giá trị khác nhau. Họ duy trì trạng thái của họ khi tài liệu đi qua đường ống. Chúng chỉ có thể được sử dụng trong một số giai đoạn. distinct[]
5, distinct[]
6, count[]
2 và distinct[]
8. Tuy nhiên, một số bộ tích lũy có thể được sử dụng trong các giai đoạn khác nhau nhưng không phải là bộ tích lũy, nghĩa là chúng không duy trì trạng thái. Một ví dụ về điều này có thể được thực hiện trong hình. [a] tính trung bình xảy ra trên các tài liệu trong một nhóm;
Minh họa việc sử dụng biến với toán tử $let. Nguồn. Moveable from MongoDB Docs 2021 i
Hãy xem xét một bộ sưu tập distinct[]
9 với các trường số aggregate[]
0 và aggregate[]
1 và trường Boolean aggregate[]
2. Chúng tôi có thể sử dụng tổng hợp để tính tổng cho mỗi lần bán. Đây là lúc toán tử aggregate[]
3 trở nên hữu ích
Toán tử aggregate[]
3 có hai phần. Khối aggregate[]
5 nơi các biến được gán và biểu thức aggregate[]
6 nơi các biến được sử dụng để tính toán. Khối aggregate[]
5 có thể truy cập các biến được xác định bên ngoài, bao gồm các biến hệ thống. Nếu các biến được xác định bên ngoài được sửa đổi trong aggregate[]
5, thì các giá trị đã thay đổi chỉ được nhìn thấy trong biểu thức aggregate[]
6. Bên ngoài, các giá trị cũ được giữ lại
Các biến hệ thống bao gồm Collection
0, Collection
1, Collection
2, Collection
3, Collection
4, Collection
5, Collection
6 và Collection
7
Một quy trình mẫu bao gồm ba giai đoạn trong MongoDB Compass. Nguồn. Melnik 2018
MongoDB Compass là GUI cho MongoDB. Aggregation Pipeline Builder là một trong những công cụ trong Compass. Các nhà phát triển có thể bổ sung/xóa các giai đoạn vào đường ống bằng đồ họa. Ở chế độ Xem trước tự động, các tài liệu phù hợp sẽ tự động được xem trước. Theo mặc định, 20 tài liệu đầu tiên được xem trước. Nếu Chế độ mẫu được bật, giới hạn mặc định là 100. 000 sẽ được áp dụng. Điều này ảnh hưởng đến các giai đoạn count[]
2, distinct[]
5 và distinct[]
6
Khi chúng tôi chọn một đường ống toán tử, La bàn sẽ cung cấp đầy đủ các cú pháp. Chúng ta cần điền vào các trường dành sẵn và biểu thức có liên quan. Nếu chúng tôi thắc mắc lỗi, các chủ đề xuất hữu ích sẽ được đưa ra để sửa lỗi tương tự. Đây có thể là một tính năng hữu ích cho người mới bắt đầu
Có thể lưu đường dẫn và tải xuống sau trong La bàn. Với tính năng xuất, quy trình có thể được xuất dưới định dạng JSON hoặc ở định dạng tương thích với trình điều khiển ngôn ngữ. Tương tự như vậy, có thể nhập vào Compass một đường dẫn được viết bằng ngôn ngữ truy vấn MongoDB
Hiệu suất của tập hợp MongoDB so với các cơ sở dữ liệu khác. Nguồn. Cuộc Sống Mới 2018
Vì vậy, với map-reduce cũ, tổng hợp khung nhanh hơn gấp 6 lần trong một thử nghiệm được thực hiện vào năm 2015. Trừ khi bạn bị truy vấn với mã kế thừa, bạn nên chuyển sang khung tổng hợp
So sánh MySQL 8. 0 và MongoDB 4. 0. 3, người ta thấy rằng MongoDB thường nhanh hơn đối với các truy vấn phức tạp hơn. Nó nhanh hơn từ đĩa khi không có mục, trong khi MySQL nhanh hơn từ RAM. BI Connector chậm hơn đối với các truy vấn đơn giản và không nhanh bằng tổng hợp thủ công
Trong một thử nghiệm riêng biệt, db.collection.aggregate[ [ { }, . ] ]
1 và db.collection.aggregate[ [ { }, . ] ]
2 của MongoDB nhanh hơn so với MySQL tương đương của họ. Tuy nhiên, một truy vấn db.collection.aggregate[ [ { }, . ] ]
3 đơn giản hơn so với truy vấn db.collection.aggregate[ [ { }, . ] ]
4 của MySQL
Trên các bộ sưu tập lớn bao gồm hàng triệu tài liệu, khả năng tổng hợp của MongoDB kém hơn nhiều so với Elaticsearch. Hiệu suất thấp hơn với kích thước bộ sưu tập tập tin khi MongoDB bắt đầu sử dụng đĩa do RAM hệ thống hạn chế
Giai đoạn count[]
4 được sử dụng mà không có mục có thể rất chậm
Mặc dù có nhiều công cụ tính toán bên ngoài mạnh mẽ [Spark, Hadoop, R, Python, Java, C], nhưng việc truyền dữ liệu có thể trở thành nút Thắt cổ chai do chi phí, băng thông mạng, giới hạn phần . Làm điều đó, hãy sử dụng tập hợp MongoDB khi bạn có thể
Các giai đoạn chặn phải được thiết kế thận trọng cẩn thận để giảm thiểu hiệu quả kém của quy trình. Nguồn. Complete to 2021, seconds. 2. 4
Aggregation Pipeline Quick Reference là một tài liệu tham khảo hữu ích cho các nhà phát triển
Khi cần xử lý phức tạp, quy trình tổng hợp giúp chúng tôi chia sẻ vấn đề thành các phần nhỏ hơn. Chúng ta có thể coi mỗi giai đoạn là giải một bài toán trước khi bàn giao kết quả trung gian cho giai đoạn tiếp theo. Đường ống cũng hỗ trợ sửa lỗi hoặc tạo mẫu vì chúng tôi có thể nhận xét một số giai đoạn
Giai đoạn count[]
7 có thể dài dòng và không trực quan. Thay vào đó hãy sử dụng count[]
0 và count[]
8. Điều này làm cho quy trình dễ bảo trì hơn khi các trường mới được bổ sung vào tài liệu sau này
Mặc dù MongoDB tự động thực hiện tối ưu hóa, hãy sử dụng db.collection.aggregate[ [ { }, . ] ]
9 để xem dữ liệu có thể tối ưu hóa thêm không
Các giai đoạn distinct[]
1 và count[]
2 đang bị chặn, có nghĩa là họ không thể gửi đầu ra của mình sang giai đoạn tiếp theo cho đến khi tất cả các tài liệu bắt đầu được xử lý. Giai đoạn chặn giảm thời gian và tiêu thụ nhiều bộ nhớ hơn. Một số chiến lược giảm thiểu bao gồm sắp xếp theo chỉ mục, sử dụng count[]
3 với sắp xếp và sắp xếp sau trên một tập hợp con nhỏ hơn. Chỉ bảng tóm tắt dữ liệu nhóm. Không cần thiết phải phân tách nhóm. Sử dụng các mảng toán tử thay vì loại bỏ và tập hợp lại. Di chuyển các bộ lọc so khớp về sớm hơn trong quy trình bán hàng
Tập hợp MongoDB và các đối tác SQL của chúng. Nguồn. Moveable from MongoDB Docs 2021c
SQL to Aggregation Mapping Chart là một tài nguyên hữu ích. Từ đây, chúng tôi lưu ý tương đương SQL-MongoDB sau đây
- lọc. SQL sử dụng _____ 63 và
$out
4 trong khi MongoDB sử dụng toán tử tổng hợp ________ 15 - nhóm. Sử dụng SQL _____ 66 trong khi MongoDB sử dụng toán tử tổng hợp _______ 12
- lựa chọn. Sử dụng SQL _____ 54 trong khi MongoDB sử dụng toán tử tổng hợp ________ 17
- Sắp xếp. Sử dụng SQL _____ 70 trong khi MongoDB sử dụng toán tử tổng hợp ________ 21
- giới hạn. Sử dụng SQL _____ 72 trong khi MongoDB sử dụng toán tử tổng hợp ________ 13
- tham gia. Tham gia trong MongoDB là một phép kết nối bên ngoài bên trái được thực hiện bằng cách sử dụng tổng hợp toán học
count[]
4 - Tổng/Đếm. SQL's
$merge
5 và$merge
6 được phát triển trong MongoDB với tổng hợp toán tử$merge
7 - kết hợp. Sử dụng SQL _____ 78 trong khi MongoDB sử dụng toán tử tổng hợp ________ 79
Hình vẽ đưa ra một số ví dụ. Bộ sưu tập $geoNear
0 bao gồm một mảng $geoNear
1 với mỗi mục chứa các trường $geoNear
2, $geoNear
3 và aggregate[]
0
cột quan trọng
Tháng 2
2009
MongoDB 1. 0 has been play. Đến tháng 8, phiên bản này sẽ sử dụng rộng rãi cho môi trường sản xuất
Tháng 12
2009
MongoDB 1. 2 được phát hành với sự hỗ trợ cho tập hợp. Điều này được thực hiện trong Node. js thông qua API Map-Reduce. Điều này làm chậm và các truy vấn không trực tiếp đối với các nhà phát triển
Tháng 8
2012
MongoDB 2. 2 has been play. Điều này giới thiệu khung tổng hợp. Điều này được hiển thị thông qua lệnh $geoNear
5 và trình hỗ trợ aggregate[]
trong trình bao. Vì vậy, với việc triển khai tập hợp trước đó, điều này trực quan, mạnh mẽ, hiệu quả và có thể mở rộng hơn nhiều. Nó sớm trở thành công cụ dành cho các nhà phát triển. Tuy nhiên, MongoDB vẫn tiếp tục hỗ trợ Map-Reduce vì những lý do cũ
Tháng 12
2015
MongoDB 3. 2 has been play. Các giai đoạn mới bao gồm count[]
9, $geoNear
8 và count[]
4 [bên ngoài bên trái]. Nhiều toán tử số học tập tin mới và toán tử mảng mới được giới thiệu. Kết quả tổng hợp có thể được định tuyến đến bất kỳ phân đoạn nào để hợp nhất, do đó tránh được tình trạng quá tải trên phân đoạn chính
Tháng 11
2016
MongoDB 3. 4 hành động được phát hành. Các giai đoạn mới bao gồm ________ 90, distinct[]
5, ________ 92, ________ 93, $addFields
4, $addFields
, $addFields
6 và count[]
1. Nhiều toán tử mảng/chuỗi/ngày tập hợp và biểu thức điều khiển luồng điều khiển tập hợp $addFields
8 được giới thiệu
Tháng 11
2017
MongoDB 3. 6 hành động được phát hành. Các giai đoạn mới bao gồm $addFields
9, count[]
00 và count[]
01. Các tổng hợp kế toán mới bao gồm count[]
02, count[]
03, count[]
04, count[]
05, count[]
06 và count[]
07. Đối với toán tử ngày, múi giờ được hỗ trợ. Biến tổng hợp Collection
4 được thêm vào
Tháng 6
2018
MongoDB 4. 0 has been play. Tổng hợp toán tử mới để chuyển đổi kiểu và chuỗi ký tự đã được thêm vào. MongoDB La bàn 1. 14 được phát hành với Aggregation Pipeline Builder. Trong la bàn 1. 15 [Aug 2018], tính năng nhập/xuất được thêm vào trình tạo. Trong la bàn 1. 16 [ngày 11 tháng 1 năm 2018], Support đối chiếu được thêm vào. Trong la bàn 1. Vào ngày 19 tháng 8 năm 2019, các lượt xem có thể được tạo ra từ kết quả đường ống. Builder đi kèm với các cài đặt mới về kích thước mẫu, số lượng tài liệu để xem trước và thời gian chờ tối đa. Trong la bàn 1. 20 [Tháng 12 năm 2019], các nhà khai thác đường ống count[]
0, count[]
8 và count[]
11 được thêm vào. Trong la bàn 1. 26. 1 [Tháng 4 năm 2021], chức năng được cho phép trong đường ống
Tháng 8
2019
MongoDB 4. 2 has been play. Giai đoạn $merge
được thêm vào. Điều này giúp tạo ra các chế độ xem cụ thể hóa theo yêu cầu. Các giai đoạn mới khác nhau bao gồm count[]
13, count[]
11, count[]
0 và count[]
8. sensor sensor được thêm vào. Các biểu thức regex mới bao gồm count[]
17, count[]
18 và count[]
19. Trong các phiên bản trước, chỉ có thể sử dụng toán tử truy vấn count[]
20 trong giai đoạn count[]
5. Các biến mới bao gồm Collection
0 và Collection
1. Tổng hợp đường dẫn có thể sử dụng được các lệnh count[]
24 và count[]
25
Tháng 7
2020
MongoDB 4. 4 hành động được phát hành. Giai đoạn $merge
9 có thể kết hợp kết quả đường ống từ nhiều bộ sưu tập. Toán tử distinct[]
3 và distinct[]
4 cho phép tùy chỉnh biểu thức tổng hợp thay vì sử dụng count[]
29 và count[]
30. Các toán tử mới bao gồm count[]
31, count[]
32, count[]
33 [mục đầu tiên], ________ 134, ________ 135, ________ 136 và ________ 137. Từ phiên bản này, $merge
có thể xuất ra cùng một bộ sưu tập được tổng hợp;
Tháng 7
2021
MongoDB 5. 0 has been play. Giai đoạn đường ống distinct[]
8 được thêm vào. Một số toán tử tổng hợp ngày được thêm vào. Tổng hợp kế toán count[]
41 và count[]
42 được thêm vào. Để có hiệu quả tốt hơn, các toán tử so sánh với chỉ mục sử dụng count[]
43. Có thể có nhiều biểu thức đầu vào cho count[]
44. Để dễ đọc hơn, có thể sử dụng count[]
45 để xác định và sử dụng các biến trong đường ống. Truy vấn con rút gọn tương đối được hỗ trợ cho count[]
4
Giới thiệu người
- phát triển giấy. 2019. "Loạt Mongodb — hiểu biết sâu sắc về tập hợp mongodb. " Phát triển giấy, ngày 30 tháng 11. Đã truy cập 2021-10-16
- Xong rồi Paul. 2021. "Tập hợp MongoDB thực tế. " v3. 00, MongoDB, Inc, tháng 10. Đã truy cập 2021-10-10
- Henry, Onyancha Brian. 2019. "MongoDB so với MySQL NoSQL - Tại sao Mongo tốt hơn. " Blog, Vàinines, ngày 28 tháng 2. Đã truy cập 2021-10-16
- Kukic, Ado. 2020. "Cách sử dụng Biểu thức tổng hợp tùy chỉnh trong MongoDB 4. 4. " Cách thực hiện, MongoDB, ngày 28 tháng 7. Đã truy cập 2021-10-16
- Marturana, Luca. 2015. "Trò chơi MongoDB. Tổng hợp lại với giảm bản đồ. " Blog, Sysdig, ngày 12 tháng 3. Đã truy cập 2021-10-16
- Maréchal, Lê. 2015. "MongoDB so với. Elaticsearch. Nhiệm vụ của các buổi biểu diễn thần thánh. " Blog, Quickslab, ngày 23 tháng 3. Đã truy cập 2021-10-16
- Làm chủ JS hàng tuần. 2020. "Tại sao bạn [Có thể] không nên sử dụng Khung tổng hợp MongoDB. " Số phát hành #37, Mastering JS Weekly, ngày 16 tháng 7. Đã truy cập 2021-10-16
- Melnik, Grigori. 2018. "Giới thiệu trình tạo đường ống tổng hợp trong MongoDB Compass. " Blog, MongoDB, ngày 30 tháng 5. Cập nhật 2019-03-11. Truy cập 2021-10-17
- MongoDB. 2009. "1. 0 GA đã phát hành. " Blog, MongoDB, ngày 27 tháng 8. Đã truy cập 2021-10-16
- Tài liệu MongoDB. 2012. "Ghi chú phát hành cho MongoDB 2. 2. " Tháng tám. Đã truy cập 2021-10-16
- Tài liệu MongoDB. 2015. "Ghi chú phát hành cho MongoDB 3. 2. " ngày 8 tháng 12. Đã truy cập 2021-10-16
- Tài liệu MongoDB. 2016. "Ghi chú phát hành cho MongoDB 3. 4. " 29 tháng 11. Đã truy cập 2021-10-16
- Tài liệu MongoDB. 2017. "Ghi chú phát hành cho MongoDB 3. 6. "Tháng mười một. Đã truy cập 2021-10-16
- Tài liệu MongoDB. 2018. "Ghi chú phát hành cho MongoDB 4. 0. " Tháng tám. Đã truy cập 2021-10-16
- Tài liệu MongoDB. 2019. "Ghi chú phát hành cho MongoDB 4. 2. " Tháng tám. Đã truy cập 2021-10-16
- Tài liệu MongoDB. 2020. "Ghi chú phát hành cho MongoDB 4. 4. " Tháng sáu. Đã truy cập 2021-10-16
- Tài liệu MongoDB. 2021a. "tổng hợp. " Tài liệu, MongoDB 5. 0. Đã truy cập 2021-10-16
- Tài liệu MongoDB. 2021b. "Tham khảo nhanh về quy trình tổng hợp. " Tài liệu, MongoDB 5. 0. Đã truy cập 2021-10-16
- Tài liệu MongoDB. 2021 c. "Bản đồ ánh xạ SQL sang tập hợp. " Tài liệu, MongoDB 5. 0. Đã truy cập 2021-10-16
- Tài liệu MongoDB. 2021d. "Trình tạo đường ống tổng hợp. " Tài liệu, MongoDB Compass 1. 28. 4. Truy cập 2021-10-17
- Tài liệu MongoDB. 2021e. "Nhập đường dẫn từ văn bản. " Tài liệu, MongoDB Compass 1. 28. 4. Truy cập 2021-10-17
- Tài liệu MongoDB. 2021f. "La bàn MongoDB. Ghi chú phát hành. "La bàn MongoDB 1. 28. 4, ngày 30 tháng 8. Truy cập 2021-10-17
- Tài liệu MongoDB. 2021 g. "Bản đồ ánh xạ SQL sang tập hợp. " Tài liệu, MongoDB 5. 0. Truy cập 2021-10-17
- Tài liệu MongoDB. 2021 giờ. "$avg [tổng hợp]. " Tài liệu, MongoDB 5. 0. Đã truy cập 2021-11-04
- Tài liệu MongoDB. 2021 tôi. "$let [tổng hợp]. " Tài liệu, MongoDB 5. 0. Đã truy cập 2021-11-04
- Tài liệu MongoDB. 2021j. "Ghi chú phát hành cho MongoDB 5. 0. " ngày 13 tháng 7. Đã truy cập 2021-10-16
- Trang, John. 2018. "Hiệu suất tập hợp MongoDB. " Trang trình bày, MongoDB Europe'18, qua SlideShare, ngày 13 tháng 11. Đã truy cập 2021-10-16
- Weinberger, Claudius. 2018. "Điểm chuẩn hiệu suất NoSQL 2018 – MongoDB, PostgreSQL, OrientDB, Neo4j và ArangoDB. " ArangoDB, ngày 14 tháng 2. Đã truy cập 2021-10-16
Đọc thêm
- Paul, Rohan. 2019. "Tổng hợp trong Mongodb. " Trung bình, ngày 11 tháng 4. Đã truy cập 2021-10-16
- phát triển giấy. 2019. "Loạt Mongodb — hiểu biết sâu sắc về tập hợp mongodb. " Phát triển giấy, ngày 30 tháng 11. Đã truy cập 2021-10-16
- Tài liệu MongoDB. 2021a. "tổng hợp. " Tài liệu, MongoDB 5. 0. Đã truy cập 2021-10-16
- Tài liệu MongoDB. 2021b. "Tham khảo nhanh về quy trình tổng hợp. " Tài liệu, MongoDB 5. 0. Đã truy cập 2021-10-16
- Xong rồi Paul. 2021. "Tập hợp MongoDB thực tế. " v3. 00, MongoDB, Inc, tháng 10. Đã truy cập 2021-10-10
- Maréchal, Lê. 2015. "MongoDB so với. Elaticsearch. Nhiệm vụ của các buổi biểu diễn thần thánh. " Blog, Quickslab, ngày 23 tháng 3. Đã truy cập 2021-10-16
Thống kê bài viết
Số liệu thống kê của tác giả cho các lần chỉnh sửa bài viết
Tác giả
Không. of edit
Không. of the game
DevCoins
arvindpdmn2
0
1302
DevCoins thực hiện các bài báo, cuộc trò chuyện, lượt thích và lượt truy cập bài viết của họ được bao gồm
1991
Từ ngữ1
tác giả2
chỉnh sửa0
Trò chuyện1
lượt thích3339
lượt truy cậpquote as
Devopedia. 2021. "Tập hợp MongoDB. " Phiên bản 2, ngày 4 tháng 11. Đã truy cập 2022-10-10. https. // devopedia. org/mongodb-tổng hợp
MongoDB Atlas hay MongoDB là bàn cái nào tốt hơn?
Theo cộng đồng StackShare, MongoDB Atlas được thỏa thuận rộng rãi hơn , được đề cập trong 69 Ngăn xếp của công ty và 164 Ngăn .
MongoDB có tốt cho tổng hợp không?
Cũng như nhiều hệ thống cơ sở dữ liệu khác, MongoDB cho phép bạn thực hiện nhiều thao tác tổng hợp . Những điều này cho phép bạn xử lý các bản ghi dữ liệu theo nhiều cách khác nhau, chẳng hạn như nhóm dữ liệu, sắp xếp dữ liệu theo một thứ tự cụ thể hoặc sắp xếp lại tài liệu được trả về, cũng như bộ lọc dữ liệu .
MongoDB và MongoDB là bàn có giống nhau không?
MongoDB Compass là một giải pháp thay thế tốt hơn nhiều cho Mongo shell. La bàn có thể thực hiện tất cả các hoạt động mà Mongo Shell thực hiện và hơn thế nữa, bao gồm. Trực quan hóa và khám phá dữ liệu được lưu trữ trong cơ sở dữ liệu của bạn. Tạo cơ sở dữ liệu và Chèn, cập nhật và xóa dữ liệu trong cơ sở dữ liệu của bạn