runoops.com

MongoDB 排序

MongoDB sort() 方法

在 MongoDB 中使用 sort() 方法对数据进行排序,sort() 方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列。

语法

sort()方法基本语法如下所示:

>db.COLLECTION_NAME.find().sort({KEY:1})

实例

col 集合中的数据如下:

> db.col.find().pretty()
{
        "_id" : ObjectId("62c03e288c761b9926dce925"),
        "title" : "PHP 教程",
        "description" : "PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。",
        "by" : "runoops自学教程",
        "url" : "http://www.runoops.com",
        "tags" : [
                "php"
        ],
        "likes" : 300
}
{
        "_id" : ObjectId("62c03eb58c761b9926dce927"),
        "title" : "Java 教程",
        "description" : "Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。",
        "by" : "runoops自学教程",
        "url" : "http://www.runoops.com",
        "tags" : [
                "java"
        ],
        "likes" : 250
}
{
        "_id" : ObjectId("62c03ebc8c761b9926dce928"),
        "title" : "MongoDB 教程",
        "description" : "MongoDB 是一个 Nosql 数据库",
        "by" : "runoops自学教程",
        "url" : "http://www.runoops.com",
        "tags" : [
                "mongodb"
        ],
        "likes" : 100
}
>

以下实例演示了 col 集合中的数据按字段 likes 的降序排列:

>db.col.find({},{"title":1,_id:0}).sort({"likes":-1})
{ "title" : "PHP 教程" }
{ "title" : "Java 教程" }
{ "title" : "MongoDB 教程" }
>

skip(), limilt(), sort()三个放在一起执行的时候,执行的顺序是先 sort(), 然后是 skip(),最后是显示的 limit()。