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

So sánh các phần tử của mảng, loại bỏ phần tử có điểm thấp nhất

Điều này có thể được thực hiện trong một vài bước. Bước đầu tiên là lấy danh sách các tài liệu có điểm tối thiểu bằng cách sử dụng khung tổng hợp với <

    code>$match , $ unwind $ group toán tử sắp xếp hợp lý tài liệu của bạn để tìm điểm tối thiểu cho mỗi tài liệu:

    lowest_scores_docs = db.school.aggregate([ 
        { "$match": {"scores.type": "homework"} },
        { "$unwind": "$scores" },  { "$match": {"scores.type": "homework"} },
        { "$group": { "_id":"$_id", "lowest_score": {"$min": "$scores.score" } } } ] )
    

    Bước thứ hai là lặp lại từ điển ở trên và sử dụng $ pull toán tử trong truy vấn cập nhật để xóa phần tử khỏi mảng như sau:

    for result in lowest_scores_docs["result"]:
        db.school.update({ "_id": result["_id"] }, 
            { "$pull": { "scores": { "score": result["lowest_score"] } } } )
    


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. tìm không phân biệt chữ hoa chữ thường trong mongodb cho tên người dùng trong php

  2. Cách tốt nhất để xử lý các khóa compsite khi sử dụng Salat với MongoDB là gì?

  3. Tổng hợp các kiểu phụ khác nhau trong tài liệu của một bộ sưu tập

  4. Di chuyển MongoDB sang DynamoDB, Phần 2

  5. tập hợp con truy vấn mongodb của một mảng