MongoDBでドキュメントを降順にソートする方法
MongoDBでドキュメントを降順にソートする方法
MongoDBでドキュメントを並べ替える(ソートする)には、find()メソッドと組み合わせてsort()メソッドを使用します。降順(大きい値から小さい値の順)でソートしたい場合は、対象となるフィールドに対して -1 を指定します。
ここでは、サンプルコレクションの作成から降順ソートの実行までを、実際のコマンドと出力結果とともに順番に解説します。
1. ドキュメントを挿入してコレクションを作成する
まず、insertOne()メソッドを使って、「Value」というフィールドを持つ4つのドキュメントをコレクション「demo630」に挿入します。
> db.demo630.insertOne({"Value":10});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e9b080e6c954c74be91e6ba")
}
> db.demo630.insertOne({"Value":200});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e9b08116c954c74be91e6bb")
}
> db.demo630.insertOne({"Value":40});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e9b08146c954c74be91e6bc")
}
> db.demo630.insertOne({"Value":60});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e9b08176c954c74be91e6bd")
}
2. すべてのドキュメントを表示する
find()メソッドを使うと、コレクション内のすべてのドキュメントを取得できます。
> db.demo630.find();
実行すると、次のような出力が得られます。この時点では、ドキュメントが挿入された順序で表示されていることがわかります。
{ "_id" : ObjectId("5e9b080e6c954c74be91e6ba"), "Value" : 10 }
{ "_id" : ObjectId("5e9b08116c954c74be91e6bb"), "Value" : 200 }
{ "_id" : ObjectId("5e9b08146c954c74be91e6bc"), "Value" : 40 }
{ "_id" : ObjectId("5e9b08176c954c74be91e6bd"), "Value" : 60 }
3. sort()で降順に並べ替える
降順でソートするには、find()に続けてsort({Value:-1})を指定します。並べ替えの方向は「-1」が降順、「1」が昇順を表します。
> db.demo630.find().sort({Value:-1});
実行結果は以下のとおりです。「Value」フィールドの値が大きい順(200 → 60 → 40 → 10)に正しく並び替えられていることが確認できます。
{ "_id" : ObjectId("5e9b08116c954c74be91e6bb"), "Value" : 200 }
{ "_id" : ObjectId("5e9b08176c954c74be91e6bd"), "Value" : 60 }
{ "_id" : ObjectId("5e9b08146c954c74be91e6bc"), "Value" : 40 }
{ "_id" : ObjectId("5e9b080e6c954c74be91e6ba"), "Value" : 10 }
まとめ
MongoDBでドキュメントを降順に並べ替えるには、find().sort({フィールド名:-1})のように記述します。「-1」が降順、「1」が昇順です。また、ランキング表示などで上位のデータだけを取得したい場合は、limit()と組み合わせることでより実用的なクエリになります。
-
C#でリストの要素を降順に並べ替える方法
C#では、LINQのorderby句とdescendingキーワードを組み合わせることで、リスト内の要素を簡単に降順(大きい順・逆アルファベット順)に並べ替えることができます。サンプルデータの準備まず、以下のようなEmployeeクラスのオブジェクトを格納したリストを用意します。IList<Employee> emp = new List<Employee>() { new Employee() { EmployeeRank = 4, EmpName = Amit, EmpMarks = 90 }, new Employee() { EmployeeRa
-
C#で配列を降順にソートする方法
C#では、標準ライブラリのArray.Sort()メソッドとComparison<T>デリゲートを組み合わせることで、配列を簡単に降順(大きい値から小さい値の順)に並べ替えることができます。この記事では、その具体的な実装方法をサンプルコード付きで解説します。 1. 配列の宣言と初期化 まず、ソート対象となる整数型の配列を宣言し、初期化します。 int[] arr = new int[] { 87, 23, 65, 29, 67 }; 2. 降順ソートの実装 降順でソートするには、Array.Sort()メソッドの第2引数にComparison