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

Robomongo:Đã vượt quá giới hạn bộ nhớ cho $ group

{ allowDiskUse: true } 

Nên được đặt ngay sau đường ống tổng hợp.

Trong mã của bạn, nó sẽ như thế này:

db.getCollection('RAW_COLLECTION').aggregate([
  // Group on unique value storing _id values to array and count 
  { "$group": {
    "_id": { RegisterNumber: "$RegisterNumber", Region: "$Region" },
    "ids": { "$push": "$_id" },
    "count": { "$sum": 1 }      
  }},
  // Only return things that matched more than once. i.e a duplicate
  { "$match": { "count": { "$gt": 1 } } }
], { allowDiskUse: true } )

Lưu ý:Sử dụng { allowDiskUse: true } có thể gây ra các vấn đề liên quan đến hiệu suất vì đường ống tổng hợp sẽ truy cập dữ liệu từ các tệp tạm thời trên đĩa. Cũng phụ thuộc vào hiệu suất đĩa và kích thước của tập hợp làm việc của bạn. Kiểm tra hiệu suất cho trường hợp sử dụng của bạn



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. cập nhật truy vấn mongodb chọn các trường lồng nhau

  2. Mongodb find không hoạt động với Objectid

  3. TypeError tại / account / login / id phải là một phiên bản của (str, unicode, ObjectId), không phải <type 'int'>

  4. Khi nào đến Redis? Khi nào đến MongoDB?

  5. Truy vấn Morphia theo Id