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

Nhóm tổng hợp MongoDB về bộ sưu tập con bên trong và nhận tài liệu hoàn chỉnh với số lượng

Vấn đề chính là bạn cần phải xem qua toàn bộ bộ sưu tập (trong trường hợp này, bạn không thể sử dụng các chỉ mục để tăng tốc quá trình).

Bạn có thể thử mã này (nó có ít thao tác hơn so với của bạn):

db.getCollection('User').aggregate([
    {
        $unwind: "$UserSubscriptions"
    },
    {
        $group: {
            _id:"$UserSubscriptions.Subscription.Publication.Code",
            users: {$addToSet: "$_id"}
        }
    },
    {
        $project: {"PublicationCode": "$_id", "Count": {$size: "$users"}}
    }
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb kết hợp các truy vấn tổng hợp

  2. Chèn dữ liệu vào mảng bên trong trong MongoDB

  3. Cập nhật MongoDBMany ()

  4. Tính năng không được hỗ trợ:$ text trong document db với khả năng tương thích mongodb 3.6

  5. Mảng đối tượng trong lược đồ Mongoose