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

Cách sử dụng tập hợp MongoDB cho các hoạt động tập hợp mục đích chung (liên hợp, giao điểm, sự khác biệt)

Chỉ phiên bản 2.6+:

Kể từ phiên bản 2.6 của MongoDB, điều này đã trở nên dễ dàng hơn nhiều. Bây giờ bạn có thể làm như sau để giải quyết vấn đề này:

Liên minh

db.colors.aggregate([
    {'$project': {  
                    union:{$setUnion:["$left","$right"]}
                 }
    }
]);

Giao lộ

db.colors.aggregate([
    {'$project': {  
                  int:{$setIntersection:["$left","$right"]}
                 }
    }
]);

Bổ sung tương đối

db.colors.aggregate([
    {'$project': {  
                    diff:{$setDifference:["$left","$right"]}
                 }
    }
]);

Sự khác biệt đối xứng

db.colors.aggregate([
    {'$project': {  
                    diff:{$setUnion:[{$setDifference:["$left","$right"]}, {$setDifference:["$right","$left"]}]}
                 }
    }
]);

Lưu ý:Có một yêu cầu sự khác biệt đối xứng được thêm vào như một tính năng cốt lõi thay vì phải thực hiện sự kết hợp của hai sự khác biệt tập hợp.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Chèn một đối tượng momentjs vào Meteor Collection

  2. Cách theo dõi các yêu cầu MongoDB từ một ứng dụng bảng điều khiển

  3. Khi nào đóng kết nối cơ sở dữ liệu MongoDB trong Nodejs

  4. Không thể ghi bộ đệm vào MongoDB GridFS

  5. Các mối quan hệ trong cơ sở dữ liệu hướng Tài liệu?