Rate this post

Lệnh tổng trong MongoDB hợp thực hiện hoạt động tổng hợp bằng cách sử dụng đường ống tổng hợp. Đường ống tổng hợp cho phép người dùng thực hiện xử lý dữ liệu từ bản ghi hoặc nguồn khác bằng cách sử dụng trình tự ứng dụng dựa trên giai đoạn.

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

Cú pháp:

{  
  aggregate: "<collection>" || 1, pipeline: [ <stage>, <...>],  
  explain: <boolean>, allowDiskUse: <boolean>,  
  cursor: <doc>,  
  maxTimeMS: <int>,  
  bypassDocumentValidation: <boolean>,  
  readConcern: <doc>,  
  collation: <doc>,  
  hint: <string or doc>,  
  comment: <string>,  
  writeConcern: <doc>  
}  
FieldsTypeDescription
aggregatestringNó chứa tên của đường ống tổng hợp
pipelinearrayMảng biến đổi danh sách tài liệu như một phần của đường ống tổng hợp.
explainbooleanTrường giải thích là tùy chọn được sử dụng để trả về thông tin về quá trình xử lý đường ống
allowDiskUsebooleanNó cho phép lệnh ghi vào các tệp tạm thời.
cursordocumentNó giải quyết các tài liệu có chứa tùy chọn điều khiển để tạo đối tượng con trỏ.
maxTimeMSnon-negative integerNó xác định giới hạn thời gian cho các hoạt động xử lý trên con trỏ.
Bypass
Document
Validation
booleanNó chỉ được áp dụng trong trường hợp bạn chỉ định các giai đoạn tổng hợp ra hoặc hợp nhất.
readConcerndocumentNó chỉ định mối quan tâm đọc. Các mức độ quan tâm có thể đọc là – cục bộ, có sẵn, đa số và có thể phân loại theo tuyến tính.
collationdocumentNó chỉ định mối quan tâm đọc. Các mức độ quan tâm có thể đọc là – cục bộ, có sẵn, đa số và có thể phân loại theo tuyến tính.
collation: { locale: <string>, caseLevel: <boolean>, caseFirst: <string>, strength: <int>, numericOrdering: <boolean>, alternate: <string>, maxVariable: <string>, backwards: <boolean>}
hintstring or documentChúng ta có thể chỉ định các quy tắc ngôn ngữ cụ thể để so sánh chuỗi bằng cách sử dụng đối chiếu. Chẳng hạn như – quy tắc về trường hợp và dấu trọng âm.
commentstringChúng ta có thể khai báo một chuỗi tùy ý để giúp theo dõi hoạt động thông qua trình biên dịch cơ sở dữ liệu, currentOp và các bản ghi.
writeConcerndocumentNó được thiết lập để sử dụng mối quan tâm ghi mặc định với các giai đoạn đường ống $ out hoặc $ merge.

Ví dụ:

Chúng tôi có các tài liệu sau trong bài viết:

{  
   _id: ObjectId("52769ea0f3dc6ead47c9a1b2"),  
   author: "Ankit",  
   title: "Course",  
   tags: [ "Java Tutorial", "DBMS Tutorial", "mongodb"]  
}  

Bây giờ, chúng tôi sẽ thực hiện một hoạt động tổng hợp trên bộ sưu tập bài viết để tính toán số lượng của mọi phần tử riêng biệt trong mảng thẻ xuất hiện trong bộ sưu tập.

db.runCommand( { aggregate: "articles",  
   pipeline: [  
      { $project: { tags: 1 } },  
      { $unwind: "$tags" },  
      { $group: { _id: "$tags", count: { $sum : 1 } } }  
   ],  
   cursor: { }  
} )  

Lệnh MongoDB Count

Lệnh MongoDB đếm số lượng tài liệu trong một bộ sưu tập hoặc một dạng xem. Nó trả về một tài liệu có chứa trạng thái đếm và lệnh.

Cú pháp:

{  
  count: <collection or view>,  
  query: <document>,  
  limit: <integer>,  
  skip: <integer>,  
  hint: <hint>,  
  readConcern: <document>,  
  collation: <document>  
}  
FieldTypeDescription
countstringĐây là tên của collection hoặc view cần đếm.
querydocumentNó là tùy chọn và được sử dụng để chọn tài liệu để đếm trong bộ sưu tập hoặc chế độ xem.
limitintegerNó là tùy chọn và được sử dụng để giới hạn số lượng tối đa các tài liệu phù hợp để trả về.
skipintegerNó là tùy chọn và được sử dụng để so khớp các tài liệu cần bỏ qua trước khi trả về kết quả.
hintstringNó được sử dụng để xác định tên chỉ mục dưới dạng một chuỗi hoặc tài liệu đặc tả chỉ mục.
readConcern documentreadConcern: { level: <value> }
collationdocumentNó cho phép chúng ta xác định các quy tắc ngôn ngữ cụ thể để so sánh chuỗi.
collation: { locale: <string>, caseLevel: <boolean>, caseFirst: <string>, strength: <int>, numericOrdering: <boolean>, alternate: <string>, maxVariable: <string>, backwards: <boolean> }

Ví dụ:

Để đếm số lượng tất cả các tài liệu trong collection:

db.runCommand ({count: 'order'})

Lệnh Distinct của MongoDB

Lệnh này tìm các giá trị riêng biệt cho trường đã cho trên một tập hợp duy nhất. Nó trả về một tài liệu có chứa một mảng các giá trị khác nhau. Tài liệu trả về chứa một bản ghi được nhúng với thống kê truy vấn và kế hoạch truy vấn.

Cú pháp:

distinct: "<collection>",  
key: "<field>",  
query: <query>,  
readConcern: <read concern document>,  
collation: <collation document>  
}  
FieldTypeDescription
distinctstringNó là tên của collection để truy vấn các giá trị khác nhau
keydocumentĐây là trường mà lệnh trả về giá trị khác biệt.
queryintegerNó chỉ định các tài liệu từ nơi giá trị khác biệt sẽ được truy xuất.
readConcern documentNó chỉ định mối quan tâm đọc.
readConcern: { level: <value> }
collationstringNó cho phép chúng tôi xác định các quy tắc dành riêng cho ngôn ngữ để so sánh chuỗi.
collation: { locale: <string>, caseLevel: <boolean>, caseFirst: <string>, strength: <int>, numericOrdering: <boolean>, alternate: <string>, maxVariable: <string>, backwards: <boolean> }

Ví dụ:

Ví dụ sau trả về các giá trị khác nhau cho các sách trường từ tất cả các tài liệu trong bộ sưu tập thư viện:

db.runCommand ( { distinct: "library", key: "books" } )  

Lệnh MongoDB MapReduce

Lệnh MapReduce cho phép chúng tôi chạy các hoạt động tổng hợp thu nhỏ bản đồ trên một tập hợp.

Cú pháp:

db.runCommand(  
              {  
                mapReduce: <collection>,  
                map: <function>,  
                reduce: <function>,  
                finalize: <function>,  
                out: <output>,  
                query: <document>,  
                sort: <document>,  
                limit: <number>,  
                scope: <document>,  
                jsMode: <boolean>,  
                verbose: <boolean>,  
                bypassDocumentValidation: <boolean>,  
                collation: <document>,  
                writeConcern: <document>  
              }  
            )  
FieldTypeDescription
MapReducecollectionĐây là tên của tập hợp mà chúng ta muốn thực hiện thao tác mapReduce.
mapfunctionĐây là một hàm JavaScript liên kết hoặc ánh xạ cặp khóa-giá trị.
reducefunctionĐây là một hàm JavaScript giúp giảm xuống một đối tượng duy nhất tất cả các giá trị được liên kết với một khóa cụ thể.
outstringNó chỉ định nơi lưu trữ đầu ra.
querydocumentNó chỉ định các tiêu chí lựa chọn để xác định các tài liệu đầu vào cho map function.
sortdocumentNó sắp xếp tài liệu đầu vào.
limitnumberNó chỉ định số lượng tài liệu tối đa cho đầu vào vào map function.
finalizefunctionNó tuân theo phương pháp giảm để sửa đổi đầu ra.
scopedocumentNó là một tùy chọn và khai báo các biến toàn cục có thể truy cập được trên map.
jsModebooleanjsMode chỉ định có chuyển đổi dữ liệu trung gian sang định dạng BSON hay không.
verbosebooleanNó chỉ định có đưa thông tin thời gian vào kết quả hay không.
bypass
Document
Validation
booleanNó cho phép mapReduce để bỏ qua xác thực tài liệu trong quá trình hoạt động.
collationdocumentNó cho phép chúng tôi chỉ định các quy tắc dành riêng cho ngôn ngữ để so sánh chuỗi
collation: { locale: <string>, caseLevel: <boolean>, caseFirst: <string>, strength: <int>, numericOrdering: <boolean>, alternate: <string>, maxVariable: <string>, backwards: <boolean> }
writeConcerndocumentĐây là một tài liệu thể hiện mối quan tâm ghi được sử dụng khi xuất ra một collection.

Ví dụ:

var mapFunction = function() { ... };  
var reduceFunction = function(key, values) { ... };  
  
db.runCommand(  
               {  
                 mapReduce: <input-collection>,  
                 map: mapFunction,  
                 reduce: reduceFunction,  
                 out: { merge: <output-collection> },  
                 query: <query>  
               }  
             )  

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