sql >> データベース >  >> NoSQL >> MongoDB

子ドキュメントのスコアに基づいてmongoコレクションを並べ替える

    以下の集計を試すことができます。

    db.editors.aggregate([
      {"$lookup":{
        "from":"books",
        "localField":"_id",
        "foreignField":"parentId",
        "as":"books"
      }},
      {"$unwind":"$books"},
      {"$match":{"books.type":"sci-fi"}},
      {"$group":{
        "_id":"$_id",
        "name":{"$first":"$name"},
        "scores":{"$sum":"$books.score"}
      }},
      {"$sort":{"scores":-1}},
      {"$limit":10}
    ])
    
    db.editors.aggregate([
      {"$lookup":{
        "from":"books",
        "localField":"_id",
        "foreignField":"parentId",
        "as":"books"
      }},
      {"$project":{
        "name":1,
        "scores":{"$sum":"$books.score"}
      }},
      {"$sort":{"scores":-1}}
    ])
    


    1. 1つのコマンドでクエリと挿入

    2. 暗号化を使用してMongoDBデータを保護する方法

    3. MongoDB Aggregation:動的フィールドパスを介して埋め込みドキュメントからフィールドを追加します

    4. Django CeleryElasticBeanstalkはそのようなプロセスエラーを監視していません