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

Mongodb:Sử dụng số lượng bản ghi trong tổng hợp sau một nhóm

Bạn có thể sử dụng truy vấn tổng hợp bên dưới.

$group ban đầu để tính tổng số trong khi $push trường khái niệm thành trường mảng. $$ROOT để truy cập toàn bộ tài liệu.

Giữ lại tổng số bài viết trong $group tiếp theo .

Phần còn lại tất cả vẫn theo cách của bạn.

db.articles.aggregate([
  {"$group":{
    "_id":null,
    "totalArticles":{"$sum":1},
    "concepts":{"$push":"$$ROOT.concepts"}
  }},
  {"$unwind":"$concepts"},
  {"$group":{
    "_id":"$concepts.text",
    "totalArticles":{"$first":"$totalArticles"},
    "count":{"$sum":1},
    "average":{"$avg":"$concepts.relevance"}
  }},
  {"$project":{
      "count": "$count",
      "percent": {
        "$divide": [ "$count", "$totalArticles" ]
      }
    }
  },
  {"$sort": {"count": -1}}
])

$facets cũng là một tùy chọn trong đó bạn có thể hai truy vấn trong hai đường ống riêng biệt, sau đó hợp nhất để tiếp tục với phần còn lại của các giai đoạn.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Express.js và thời lượng phiên kết nối mongo

  2. Làm cách nào để chỉnh sửa / đổi tên khóa trong khi tải json.load trong python?

  3. Cách tốt nhất để kết nối với MongoDB bằng Node.js

  4. Nodejs mongodb không woking trên máy chủ

  5. passport.js - xác thực người dùng từ MongoDB bằng passport-local