要在 MongoDB 中对查询到的文档进行排序,您可以使用 sort() 方法,该方法的语法格式如下:
db.collection_name.find().sort({key:1})
其中 key 用来定义要根据那个字段进行排序,后面的值 1 则表示以升序进行排序,若要以降序进行排序则需要将其设置为 -1。
【示例】假设集合“news”中有如下数据:
> db.news.find()
{ "_id" : ObjectId("642c20d90f4560b1b0464fc1"), "title" : "MongoDB创建集合" }
{ "_id" : ObjectId("642c20d90f4560b1b0464fc2"), "title" : "MongoDB删除集合" }
{ "_id" : ObjectId("642c20d90f4560b1b0464fc3"), "title" : "MongoDB插入文档" }
若要将集合中的数据按照 title 字段降序排列,示例代码如下:
> db.news.find({}, {"title":1,_id:0}).sort({"title":-1})
{ "title" : "MongoDB创建集合" }
{ "title" : "MongoDB删除集合" }
{ "title" : "MongoDB插入文档" }
注意,如果在使用 sort() 方法时未指定排序的选项,那么 sort() 方法将默认按 _id 的升序显示文档,如下所示:
> db.news.find({}, {"title":1,_id:0}).sort({})
{ "title" : "MongoDB创建集合" }
{ "title" : "MongoDB删除集合" }
{ "title" : "MongoDB插入文档" }