MongoDB属于NoSQL类别的数据库,因此它以JSON格式存储数据。在数据库管理系统中,排序现象被用来以顺序的方式检索文件。MongoDB的日期排序支持有助于获得按照日期字段排列的文档。
因为,排序可以以升序或降序的方式进行;同样,按日期排序也允许以两种顺序检索文档。通过这篇文章后,你将能够在MongoBD中应用按日期排序的功能。
如何在MongoDB中按日期对文档进行排序
在本节中,我们将解释在MongoDB中按日期排序的可能方法。按日期排序是MongoDB的"$sort"操作符和 "sort()"方法的一个功能。因此,我们可以通过以下方式检索与日期字段相关的文档。
使用sort()方法:使用sort()方法的语法给出如下。
db.collection-name.find().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()
注意:如果你插入除**(-1或1**)以外的排序,你可能会面临下面输出中显示的错误。
>db.staff.aggregation({$sort:{JoiningDate:2}}).pretty()
结论
MongoDB提供了一个广泛的操作符和方法列表来存储和检索集合中的文档。MongoDB中的排序可以从多个角度进行;比如按日期排序可以用来按日期字段的升序/降序来打印文档。在这篇MongoDB教程中,我们列出了几种可能的方法来对文件进行日期排序。本指南由几个例子组成,展示了**$sort操作符与聚合方法和sort()**方法的用法。这两种方法都是用于按日期检索文档的功能。