Các cách khác nhau để thực hiện tổng hợp trong MongoDB cung cấp một số ví dụ là gì?

Hy vọng, bạn đang thích các hướng dẫn về MongoDB. Phiên cuối cùng là tất cả về MongoDB GridFS. Hôm nay, chúng ta sẽ thấy một thuật ngữ mới gọi là MongoDB Aggregation, một thao tác tổng hợp, MongoDB xử lý các bản ghi dữ liệu và trả về một kết quả được tính toán duy nhất

Ở đây, chúng ta sẽ nói về các loại tập hợp, biểu thức và các giai đoạn của đường dẫn tập hợp với các ví dụ

Vì vậy, hãy bắt đầu Hướng dẫn tổng hợp MongoDB

Tập hợp MongoDB là gì?

Trong hoạt động tổng hợp, MongoDB xử lý các bản ghi dữ liệu và trả về một kết quả được tính toán duy nhất. Nó thực sự nhóm nhiều tài liệu và sau đó thực hiện thao tác tổng hợp trên đó và sau đó trả về một kết quả duy nhất cho người dùng cuối

MongoDB có thể thực hiện tổng hợp theo 3 cách và chúng như sau

  1. đường ống tổng hợp
  2. Chức năng thu nhỏ bản đồ
  3. Phương pháp tổng hợp một mục đích

i. Đường ống tổng hợp MongoDB

Quá trình tổng hợp trong MongoDB được mô hình hóa dựa trên khái niệm đường ống xử lý dữ liệu. Nhiều tài liệu được đưa vào quy trình bán hàng và sau đó các tài liệu này sẽ được chuyển đổi thành kết quả tổng hợp

Các hoạt động được thực hiện trong quá trình đường ống bao gồm chuyển đổi bộ lọc và tài liệu trong đó chúng hoạt động giống như truy vấn và sửa đổi dạng tài liệu đầu ra tương ứng

Phương pháp đường ống cung cấp tổng hợp dữ liệu hiệu quả bằng cách sử dụng các hoạt động khác có trong MongoDB. Nó cũng có thể hoạt động trên một bộ sưu tập sharded

Nó cũng có thể sử dụng các chỉ mục MongoDB để cải thiện hiệu quả của nó ở một số giai đoạn. Với tất cả các đường dẫn tổng hợp này có một giai đoạn tối ưu hóa nội bộ do đó nó có thể làm cho quá trình này trở nên tối ưu cho bộ xử lý

Các cách khác nhau để thực hiện tổng hợp trong MongoDB cung cấp một số ví dụ là gì?

Ví dụ về đường ống tổng hợp MongoDB

ii. Bản đồ-Giảm

Như tên gợi ý, bản thân nó có hai hoạt động, chúng là một bản đồ trong đó mỗi tài liệu đang được xử lý cùng với việc phát ra một hoặc nhiều đối tượng cho từng tài liệu và giảm giai đoạn trong đó đầu ra của hoạt động bản đồ được kết hợp với nhau

MongoDB Map-reduce có thể tùy chọn có một giai đoạn hoàn thiện trong đó nó có thể thực hiện một số sửa đổi cuối cùng trong đầu ra của tài liệu. Map-Reduce sử dụng JavaScript để thực hiện các hoạt động của nó bao gồm cả hoạt động hoàn thiện

Mặc dù javascript cung cấp tính linh hoạt cao hơn so với quy trình tổng hợp, nhưng nó vẫn kém hiệu quả hơn và hoạt động phức tạp hơn so với quy trình tổng hợp trong MongoDB

Các cách khác nhau để thực hiện tổng hợp trong MongoDB cung cấp một số ví dụ là gì?

MongoDB Mapreduce Ví dụ

iii. Hoạt động tập hợp mục đích duy nhất

Các hoạt động này tổng hợp tất cả các tài liệu từ một bộ sưu tập duy nhất trong MongoDB. Mặc dù chúng cung cấp quyền truy cập đơn giản vào các hoạt động tổng hợp phổ biến nhưng chúng thiếu tính linh hoạt và khả năng của đường dẫn tổng hợp và thu nhỏ bản đồ

Các cách khác nhau để thực hiện tổng hợp trong MongoDB cung cấp một số ví dụ là gì?

Ví dụ về hoạt động tổng hợp một mục đích

Các giai đoạn của MongoDB Aggregation Pipeline

Đây là 7 giai đoạn tổng hợp của Pipeline trong MongoDB

  1. dự án $
  2. $match
  3. nhóm $
  4. $sắp xếp
  5. $skip & $limit
  6. $đầu tiên & $cuối cùng
  7. thư giãn $

i. dự án $

Giai đoạn này được sử dụng để chọn các trường nhất định từ một bộ sưu tập. Chúng tôi cũng có thể thêm, xóa hoặc định hình lại một phím

Thí dụ -

db.example.aggregate([
  {
    $project:{
     _id:1,
     'dept':{$toUpper:'$name'},
     'newexp':{$add:['$exp',10]}
   }
      }
  ])

Ở đây chúng tôi đang tạo 'dept' từ 'tên' trước đó được viết hoa. Và trong 'newexp', chúng tôi sẽ thêm trải nghiệm dưới dạng 10 năm

ii. $match

Nó được sử dụng trong hoạt động lọc và nó có thể giảm số lượng tài liệu được cung cấp làm đầu vào cho giai đoạn tiếp theo.  

Thí dụ -

db.example.aggregate([
   {
     $match:{
        name:'xyz'
      }
    }
])

Ở đây chúng tôi đang tổng hợp các tài liệu có tên bằng xyz

iii. nhóm $

Nó làm công việc như tên nói. Nó nhóm tất cả các tài liệu dựa trên một số khóa

Thí dụ -

db.example.aggregate([
  {
     $group:{
       _id:{'dept':'$name'},
       employee_count:{$sum:10}
      }
   }
])

iv. $sắp xếp

Nó được sử dụng để sắp xếp tất cả các tài liệu

Thí dụ -

Ở đây chúng tôi muốn nhóm tất cả các bộ phận theo thứ tự tăng dần và sau đó tìm số lượng nhân viên

db.example.aggregate([
  {
    $group:{
      _id:'$name',
      employee_count:{$sum:1}
    }
 },
 {
    $sort:{
       _id:1
      }
   }
])

v. $skip & $limit

Sử dụng bỏ qua, chúng tôi có thể bỏ qua trong danh sách tất cả các tài liệu cho giới hạn nhất định. Và sử dụng giới hạn, chúng tôi có thể giới hạn số lượng tài liệu chúng tôi muốn xem bằng cách chỉ định giới hạn theo sự thuận tiện của chúng tôi

Thí dụ -

db.example.aggregate([
   {
     $group:{
       _id:'$name',
       employee_count:{$sum:10}
      }
   },
  {
     $sort:{
     _id:1
    }
  },
 {
    $skip:4
 },
 {
    $limit:5
 }
])

vi. $đầu tiên & $cuối cùng

Nó được sử dụng để lấy các giá trị đầu tiên và cuối cùng trong mỗi nhóm tài liệu

Thí dụ -

db.example.aggregate([
  {
    $group:{
      _id:'$name',
      employee_count:{$sum:1},
      record:{ $first:'$code'}
     }
   }
])

vii. thư giãn $

Chúng tôi có thể sử dụng thư giãn cho tất cả các tài liệu đang sử dụng mảng

Thí dụ -

Giả sử rằng chúng ta đang có một tài liệu mẫu

{
  a:abcdata,
  b:xyzdata,
  c:[a1,a2,a3]
}

Sau này nếu thực hiện thao tác bung ra trên c ta sẽ được 3 văn bản như sau

{
    a:abcdata,
    b:xyzdata,
    c:a1
}
{
    a:abcdata,
    b:xyzdata,
    c:a2
}
{
    a:abcdata,
    b:xyzdata,
    c:a3
}

Biểu thức tổng hợp MongoDB

Sau đây là biểu thức tổng hợp trong MongoDB với một ví dụ

Các cách khác nhau để thực hiện tổng hợp trong MongoDB cung cấp một số ví dụ là gì?

  • $sum – Tổng hợp các giá trị từ tất cả các tài liệu trong bộ sưu tập
________số 8_______
  • $avg – Trung bình của tất cả các tài liệu trong bộ sưu tập
db.examples.aggregate([{$group : {_id : "$by_student", num_dataflair : {$avg : "$likes"}}}])
  • $min – Giá trị tối thiểu của tất cả các tài liệu trong một bộ sưu tập
db.example.aggregate([
   {
     $match:{
        name:'xyz'
      }
    }
])
0
  • $max – Giá trị tối đa của tất cả các tài liệu trong một bộ sưu tập
db.example.aggregate([
   {
     $match:{
        name:'xyz'
      }
    }
])
1
  • $push – Chèn giá trị vào tài liệu kết quả
db.example.aggregate([
   {
     $match:{
        name:'xyz'
      }
    }
])
2
  • $addToSet – Chèn giá trị vào tài liệu kết quả mà không tạo bản sao
db.example.aggregate([
   {
     $match:{
        name:'xyz'
      }
    }
])
3
  • $first – Tài liệu đầu tiên từ tài liệu nguồn theo nhóm
db.example.aggregate([
   {
     $match:{
        name:'xyz'
      }
    }
])
4
  • $last – Tài liệu cuối cùng từ tài liệu nguồn theo nhóm
db.example.aggregate([
   {
     $match:{
        name:'xyz'
      }
    }
])
5

Phần kết luận

Do đó, chúng tôi đã nghiên cứu về Aggregation trong MongoDB với các loại. Đường ống tổng hợp, Chức năng thu nhỏ bản đồ và Phương pháp tổng hợp một mục đích với các ví dụ của chúng

Cùng với điều này, chúng tôi đã thảo luận về các giai đoạn của quy trình tổng hợp và biểu thức được sử dụng trong tổng hợp. Hy vọng, bạn thấy nó hữu ích. Xin vui lòng bình luận cho các truy vấn

Các cách khác nhau để thực hiện tổng hợp trong MongoDB là gì?

MongoDB có thể thực hiện tổng hợp theo 3 cách và chúng như sau. .
đường ống tổng hợp
Chức năng thu nhỏ bản đồ
Phương pháp tổng hợp một mục đích

Ví dụ tổng hợp trong MongoDB là gì?

Một quy trình tổng hợp bao gồm một hoặc nhiều giai đoạn xử lý tài liệu. Mỗi giai đoạn thực hiện một thao tác trên chứng từ đầu vào . Ví dụ: một giai đoạn có thể lọc tài liệu, nhóm tài liệu và tính toán giá trị. Các tài liệu được xuất ra từ một giai đoạn được chuyển sang giai đoạn tiếp theo.

Phương thức tổng hợp nào được MongoDB ưa thích sử dụng?

Đường dẫn cung cấp khả năng tổng hợp dữ liệu hiệu quả bằng cách sử dụng các thao tác gốc trong MongoDB và là phương pháp ưa thích để tổng hợp dữ liệu trong MongoDB. Đường dẫn tổng hợp có thể hoạt động trên một bộ sưu tập được phân đoạn.

Phương pháp nào sau đây được hỗ trợ trong MongoDB để thực hiện các thao tác tổng hợp?

Tuy nhiên, trong cơ sở dữ liệu hướng tài liệu như MongoDB, cơ sở dữ liệu sẽ lấy dữ liệu từ nhiều tài liệu trong cùng một bộ sưu tập. MongoDB cho phép bạn thực hiện các thao tác tổng hợp thông qua cơ chế có tên là đường dẫn tổng hợp .

Khung tổng hợp trong MongoDB là gì?

Tính năng tổng hợp trong MongoDB cho phép chuyển đổi dữ liệu và cho kết quả theo cách hiệu quả hơn so với việc sử dụng lệnh find() . Thông qua việc sử dụng nhiều giai đoạn và biểu thức, bạn có thể xây dựng một "đường ống" hoạt động trên dữ liệu của mình để thực hiện các hoạt động phân tích.