如何在MongoDB中按日期对文档进行排序

172 阅读1分钟

MongoDB属于NoSQL类别的数据库,因此它以JSON格式存储数据。在数据库管理系统中,排序现象被用来以顺序的方式检索文件。MongoDB的日期排序支持有助于获得按照日期字段排列的文档。

因为,排序可以以升序或降序的方式进行;同样,按日期排序也允许以两种顺序检索文档。通过这篇文章后,你将能够在MongoBD中应用按日期排序的功能。

如何在MongoDB中按日期对文档进行排序

在本节中,我们将解释在MongoDB中按日期排序的可能方法。按日期排序是MongoDB的"$sort"操作符和 "sort()"方法的一个功能。因此,我们可以通过以下方式检索与日期字段相关的文档。

使用sort()方法:使用sort()方法的语法给出如下。

db.collection-name.find().sort(<日期字段> :<顺序>)

使用sort操作符sort操作符**:**sort操作符是在aggregation()方法中使用的,你可以使用以下语法来应用$sort操作符。

db.collection-name.aggregation({$sort:{ :}})

在上面的语法中,使用的实例是。

  • collection-name。指的是你想应用这个方法的集合的名称。
  • : 必须用包含日期函数的字段的名称来代替。
  • : 代表顺序;而**将被升序的 "1"或降序的"-1**"所替换。

接下来的部分包含了几个例子,解释了sort()方法和$sort操作符的概念,以按日期对文档进行排序。

检索按日期顺序排序的文档

首先,让我们看一下 "员工"集合中的文档。输出显示,每个文档都有一个名为 "JoiningDate"的日期字段。

>db.staff.find().pretty()

例子。使用sort()方法

按照 "sort()"方法的语法,下面写的命令将以升序对文档进行排序。此外,排序是在代表工作人员加入日期的 "JoiningDate"字段上进行的。

>db.staff.find().sort({"JoiningDate":1}).pret()

或者你可以通过发出下面的命令得到降序的输出。

>db.staff.find().sort({"JoiningDate":-1}).pretty()

例子。使用$sort操作符

参照上例中使用的 "staff"集合的文件。下面提到的命令将使用聚合方法中的**$sort**操作符对文档中的 "JoiningDate"字段进行排序。

对于升序,使用下面写的命令。

>db.staff.aggregation({$sort:{JoiningDate:1}}).pret()

对于降序,使用下面提供的命令。

>db.staff.aggregation({$sort:{JoiningDate:-1}}).pretty()

注意:如果你插入除**(-11**)以外的排序,你可能会面临下面输出中显示的错误。

>db.staff.aggregation({$sort:{JoiningDate:2}}).pretty()

结论

MongoDB提供了一个广泛的操作符和方法列表来存储和检索集合中的文档。MongoDB中的排序可以从多个角度进行;比如按日期排序可以用来按日期字段的升序/降序来打印文档。在这篇MongoDB教程中,我们列出了几种可能的方法来对文件进行日期排序。本指南由几个例子组成,展示了**$sort操作符与聚合方法和sort()**方法的用法。这两种方法都是用于按日期检索文档的功能。