MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

sự khác biệt giữa tổng hợp ($ match) và tìm kiếm, trong MongoDB?

Tại sao kết quả tổng hợp không trả về dưới dạng DBCursor hoặc List?

Khung tổng hợp được tạo ra để giải quyết các vấn đề dễ dàng mà nếu không sẽ yêu cầu giảm bản đồ.

Khung này thường được sử dụng để tính toán dữ liệu yêu cầu db đầy đủ làm đầu vào và ít tài liệu làm đầu ra.

Sự khác biệt giữa toán tử $ match được sử dụng bên trong hàm tổng hợp và toán tử tìm kiếm thông thường trong Mongodb là gì?

Một trong những điểm khác biệt, như bạn đã nêu, là kiểu trả về. Kết quả đầu ra của Tìm hoạt động trả về dưới dạng DBCursor .

Các điểm khác biệt khác:

  • Kết quả tổng hợp phải dưới 16MB. Nếu bạn đang sử dụng phân đoạn, dữ liệu đầy đủ phải được thu thập tại một điểm duy nhất sau $ nhóm đầu tiên hoặc $ sort .
  • $ match mục đích chỉ là cải thiện sức mạnh của tập hợp, nhưng nó có một số công dụng khác, chẳng hạn như cải thiện hiệu suất tổng hợp.

và tại sao chúng tôi không thể nhận được số lượng các tài liệu được trả lại?

Bạn có thể. Chỉ cần đếm số phần tử trong mảng kết quả hoặc thêm lệnh sau vào cuối đường ống:

{$group: {_id: null, count: {$sum: 1}}}

Tại sao hàm find không cho phép đổi tên trường giống như hàm tổng hợp?

MongoDB còn trẻ và các tính năng vẫn đang được phát triển. Có thể trong một phiên bản tương lai, chúng tôi sẽ có thể làm điều đó. Đổi tên trường quan trọng hơn trong tổng hợp hơn trong tìm thấy .

CHỈNH SỬA (26/02/2014):

Các hoạt động tổng hợp MongoDB 2.6 sẽ trả về một con trỏ.

CHỈNH SỬA (2014/04/09):

MongoDB 2.6 đã được phát hành với các thay đổi tổng hợp được dự đoán.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB khác biệt giữa NumberLong và số nguyên đơn giản?

  2. 10 câu hỏi cần hỏi (và trả lời) khi lưu trữ MongoDB trên AWS

  3. Hướng dẫn dành cho nhà phát triển về MongoDB Sharding

  4. 3 cách sắp xếp tài liệu trong MongoDB

  5. Cách nhập định dạng tệp .bson trên mongodb