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

マングースで2つのフィールドを並べ替える方法は?

    sort()を参照してください 意味。

    sort({_id: -1, upvotes_count: -1})

    _idを並べ替えることを意味します まず、upvotes_countを並べ替えます 同じの場合のみ説明の順序で _id 投稿。残念ながら、_id ObjectId 、12バイトのBSONタイプであり、以下を使用して構築されます:

    • Unixエポックからの秒数を表す4バイトの値
    • 3バイトのマシン識別子
    • 2バイトのプロセスID、および
    • ランダムな値で始まる3バイトのカウンター。

    同じObjectIdを取得するのは困難です 。つまり、_id すべてのレコードのは、このドキュメントで一意である必要があります。その結果、テストコードの結果は_idの順に並べられます。 説明

    これがその一例です、

    +---------+---------------+
    | _id     |  upvote_count |
    +---------+---------------+
    |  1      |      5        |
    |  4      |      7        |
    |  3      |      9        |
    |  4      |      8        |
    

    sort({_id: -1, upvotes_count: -1})の結果

    である必要があります
    +---------+---------------+
    | _id     |  upvote_count |
    +---------+---------------+
    |  4      |      8        |
    |  4      |      7        |
    |  3      |      9        |
    |  1      |      5        |
    

    upvote_count 同じ_idで並べ替えられます 。

    ただし、この場合。同じ_idにあります この場合。

    +---------+---------------+
    | _id     |  upvote_count |
    +---------+---------------+
    |  1      |      5        |
    |  4      |      7        |
    |  3      |      9        |
    |  2      |      8        |
    

    sort({_id: -1, upvotes_count: -1})の結果

    である必要があります
    +---------+---------------+
    | _id     |  upvote_count |
    +---------+---------------+
    |  1      |      5        |
    |  2      |      8        |
    |  3      |      9        |
    |  4      |      7        |
    


    1. ネストされたドキュメントのMongoDB$lookup

    2. Robomongoを使用してMongoDBからJSONをエクスポートする方法

    3. Nodejs、実行を続行する前にRedisクエリが完了するのを待たない

    4. Mongo配列の更新または1つのクエリのプッシュ