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 |