Mongodb:如何按日期对文档进行排序


您可以使用以下方法在 MongoDB 中按日期字段对文档进行排序:

方法一:按日期升序排序

 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) 的文档最后出现。

注意:您可以在此处找到排序函数的完整文档。

其他资源

以下教程解释了如何在 MongoDB 中执行其他常见操作:

MongoDB:如何添加新字段
MongoDB:如何删除字段
MongoDB:如何分组和计数
MongoDB:如何按多个字段分组

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注