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

配列から上位N個のエントリを検索する

    基本的に、配列要素を並べ替える必要があります( $ unwind / $ sort / $ group )次に、 $ sortを実行できます。 上位の値と $ limit 結果。

    最後に、 $ slave 配列内のドキュメントの「トップN」の場合。

    db.eplat1.aggregate([
      { "$unwind": "$Trips" },
      { "$sort": { "_id": 1, "Tips.TripCount": -1 } },
      { "$group": {
        "_id": "$_id",
        "Trips": { "$push": "$Trips" },
        "maxTrip": { "$max": "$Trips.TripCount" }
      }},
      { "$sort": { "maxTrip": -1 } },
      { "$limit": 50 },
      { "$addFields": { "Trips": { "$slice": [ "$Trips", 0 , 2 ] } } }
    ])
    



    1. Node.jsコードのどこでもMongoDB接続を閉じないことが推奨されるのはなぜですか?

    2. Node.jsMongoose.js文字列からObjectId関数へ

    3. 14.10からUbuntu15.04にアップグレードすると、mongoが壊れます-修正方法は?

    4. MongoDBとCassandra