在本教程中,我们将学习如何使用sort()方法对文档进行排序。
使用sort()方法对文档进行排序
使用sort()方法,您可以根据文档的特定字段按升序或降序对文档进行排序。
sort()方法的语法:
db.collecttion_name.find().sort({field_key:1 or -1})
1 表示升序,-1 表示降序。默认值为 1。
例如:集合studentdata包含以下文档:
> db.studentdata.find().pretty(){"_id" : ObjectId("59bf63380be1d7770c3982af"),"student_name" : "Steve","student_id" : 2002,"student_age" : 22}{"_id" : ObjectId("59bf63500be1d7770c3982b0"),"student_name" : "Carol","student_id" : 2003,"student_age" : 22}{"_id" : ObjectId("59bf63650be1d7770c3982b1"),"student_name" : "Tim","student_id" : 2004,"student_age" : 23}
假设我想以降序显示所有文档的student_id:
要仅显示特定的文档字段,我使用的是 MongoDB 投影
> db.studentdata.find({}, {"student_id": 1, _id:0}).sort({"student_id": -1}){ "student_id" : 2004 }{ "student_id" : 2003 }{ "student_id" : 2002 }
要以升序显示所有学生的student_id字段:
> db.studentdata.find({}, {"student_id": 1, _id:0}).sort({"student_id": 1}){ "student_id" : 2002 }{ "student_id" : 2003 }{ "student_id" : 2004 }
默认值:默认为升序,所以如果我在sort()方法中没有提供任何值,那么它将按升序对记录进行排序,如下所示:
> db.studentdata.find({}, {"student_id": 1, _id:0}).sort({}){ "student_id" : 2002 }{ "student_id" : 2003 }{ "student_id" : 2004 }
您还可以根据您不想显示的字段对文档进行排序:例如,您可以根据student_id对文档进行排序,并显示student_age和student_name字段。

