Mongodb: ドキュメントを日付で並べ替える方法
次の方法を使用して、MongoDB の日付フィールドでドキュメントを並べ替えることができます。
方法 1: 日付の昇順で並べ替える
db.sales.find().sort({" date_field ": 1 })
方法 2: 日付の降順で並べ替える
db.sales.find().sort({" date_field ": -1 })
次の例は、次のドキュメントを使用したコレクション販売で各メソッドを使用する方法を示しています。
db.sales.insertOne({day: new Date(" 2020-01-20 "), amount: 40 })
db.sales.insertOne({day: new Date(" 2020-01-21 "), amount: 32 })
db.sales.insertOne({day: new Date(" 2020-01-22 "), amount: 19 })
db.sales.insertOne({day: new Date(" 2020-01-23 "), amount: 29 })
db.sales.insertOne({day: new Date(" 2020-01-24 "), amount: 35 })
例 1: 日付の昇順で並べ替えます。
次のコードを使用すると、すべてのドキュメントを日付順に昇順に並べ替えることができます。
db.sales.find().sort({" day ": 1 })
このクエリは次の結果を返します。
{ _id: ObjectId("6189401696cd2ba58ce928fa"),
day: 2020-01-20T00:00:00.000Z,
amount: 40 }
{ _id: ObjectId("6189401696cd2ba58ce928fb"),
day: 2020-01-21T00:00:00.000Z,
amount: 32 }
{ _id: ObjectId("6189401696cd2ba58ce928fc"),
day: 2020-01-22T00:00:00.000Z,
amount: 19 }
{ _id: ObjectId("6189401696cd2ba58ce928fd"),
day: 2020-01-23T00:00:00.000Z,
amount: 29 }
{ _id: ObjectId("6189401696cd2ba58ce928fe"),
day: 2020-01-24T00:00:00.000Z,
amount: 35 }
最も古い日付 (2020-01-20) のドキュメントが最初に表示され、最も新しい日付 (2020-01-24) のドキュメントが最後に表示されることに注意してください。
例 2: 日付の降順で並べ替えます。
次のコードを使用すると、すべてのドキュメントを日付の降順に並べ替えることができます。
db.sales.find().sort({" day ": -1 })
このクエリは次の結果を返します。
{ _id: ObjectId("6189401696cd2ba58ce928fe"),
day: 2020-01-24T00:00:00.000Z,
amount: 35 }
{ _id: ObjectId("6189401696cd2ba58ce928fd"),
day: 2020-01-23T00:00:00.000Z,
amount: 29 }
{ _id: ObjectId("6189401696cd2ba58ce928fc"),
day: 2020-01-22T00:00:00.000Z,
amount: 19 }
{ _id: ObjectId("6189401696cd2ba58ce928fb"),
day: 2020-01-21T00:00:00.000Z,
amount: 32 }
{ _id: ObjectId("6189401696cd2ba58ce928fa"),
day: 2020-01-20T00:00:00.000Z,
amount: 40 }
最新の日付 (2020-01-24) のドキュメントが最初に表示され、最も古い日付 (2020-01-20) のドキュメントが最後に表示されることに注意してください。
注: sort関数の完全なドキュメントはここで見つけることができます。
追加リソース
次のチュートリアルでは、MongoDB で他の一般的な操作を実行する方法について説明します。
MongoDB: 新しいフィールドを追加する方法
MongoDB: フィールドを削除する方法
MongoDB: グループ化してカウントする方法
MongoDB: 複数のフィールドでグループ化する方法