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

Làm thế nào để tính toán phần trăm?

Dường như vẫn chưa có cách gốc để tính toán phần trăm nhưng bằng cách kết hợp một vài toán tử tổng hợp, bạn có thể nhận được kết quả tương tự.

db.items.aggregate([
        {'$group': {
            '_id': {
                'league': '$league',
                'base': '$base',
                'type': '$type'
            },
            'value': {'$push': '$chaosequiv'}
        }},
        {'$unwind': '$value'},
        {'$sort': {'value': 1}},
        {'$group': {'_id': '$_id', 'value': {'$push': '$value'}}},
        {'$project': {
            '_id': 1,
            'value': {'$arrayElemAt': ['$value', {'$floor': {'$multiply': [0.25, {'$size': '$value'}]}}]}
        }}
    ], allowDiskUse=True)

Lưu ý rằng tôi đã viết mã gốc của mình bằng pymongo cho một vấn đề cần nhóm trên 3 trường trong nhóm đầu tiên nên điều này có thể phức tạp hơn mức cần thiết cho một trường. Tôi sẽ viết một giải pháp cụ thể cho câu hỏi này nhưng tôi không nghĩ rằng có đủ thông tin cụ thể.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. làm thế nào để làm việc với nhiều hành động và nhận được số lượng bằng cách sử dụng mongodb?

  2. Mongoose cư trú sau khi lưu

  3. Mongoose - Làm thế nào để nhóm theo và cư trú?

  4. $ sum từ tài liệu và nhóm tài liệu con của $ tác giả (MongoDB)

  5. Đọc tệp BSON bằng Python?