• mongodb sort limit和skip用法


    > db.mediaCollection.find().skip(2).toArray()
    [
            {
                    "_id" : ObjectId("5353463193efef02c962da73"),
                    "Type" : "CD",
                    "Artist" : "Nirvana",
                    "Title" : "Nevermind",
                    "Tracklist" : [
                            {
                                    "Track" : "1",
                                    "Title" : "Smells like teen spirit",
                                    "Length" : "5:02"
                            },
                            {
                                    "Track" : "2",
                                    "Title" : "In Bloom",
                                    "Length" : "4:15"
                            }
                    ]
            }
    ]
    View Code

    检索数据可以使用sort()方法来对数据进行排序,指定排序字段,并使用1或-1来指定排序方式是升序或降序。类似于SQL语句中的order by语句。

    可以使用limit()方法来读取指定数量的数据,还可以使用skip()方法来跳过指定数量的数据。对分页性能上面效率非常高。

    1. 语法

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

    >db.COLLECTION_NAME.find().limit(NUMBER)

    >db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)

    2. sort()

    > db.mediaCollection.find().sort({"Tracklist":1}).toArray()
    [
            {
                    "_id" : ObjectId("5353462f93efef02c962da71"),
                    "Type" : "Book",
                    "Title" : "Definitive Guide to <a href="http://www.ttlsa.com/mongodb" title="mongodb"target="_blank">MongoDB</a>, the",
                    "ISBN" : "987-1-4302-3051-9",
                    "Publisher" : "Apress",
                    "Author" : [
                            "Membrey, Peter",
                            "Plugge, Eelco",
                            "Hawkins, Tim"
                    ]
            },
            {
                    "_id" : ObjectId("5353462f93efef02c962da72"),
                    "Type" : "CD",
                    "Artist" : "Nirvana",
                    "Title" : "Nevermind"
            },
            {
                    "_id" : ObjectId("5353463193efef02c962da73"),
                    "Type" : "CD",
                    "Artist" : "Nirvana",
                    "Title" : "Nevermind",
                    "Tracklist" : [
                            {
                                    "Track" : "1",
                                    "Title" : "Smells like teen spirit",
                                    "Length" : "5:02"
                            },
                            {
                                    "Track" : "2",
                                    "Title" : "In Bloom",
                                    "Length" : "4:15"
                            }
                    ]
            }
    ]
    > db.mediaCollection.find().toArray()
    [
            {
                    "_id" : ObjectId("5353462f93efef02c962da71"),
                    "Type" : "Book",
                    "Title" : "Definitive Guide to MongoDB, the",
                    "ISBN" : "987-1-4302-3051-9",
                    "Publisher" : "Apress",
                    "Author" : [
                            "Membrey, Peter",
                            "Plugge, Eelco",
                            "Hawkins, Tim"
                    ]
            },
            {
                    "_id" : ObjectId("5353462f93efef02c962da72"),
                    "Type" : "CD",
                    "Artist" : "Nirvana",
                    "Title" : "Nevermind"
            },
            {
                    "_id" : ObjectId("5353463193efef02c962da73"),
                    "Type" : "CD",
                    "Artist" : "Nirvana",
                    "Title" : "Nevermind",
                    "Tracklist" : [
                            {
                                    "Track" : "1",
                                    "Title" : "Smells like teen spirit",
                                    "Length" : "5:02"
                            },
                            {
                                    "Track" : "2",
                                    "Title" : "In Bloom",
                                    "Length" : "4:15"
                            }
                    ]
            }
    ]
    View Code

    注意:如果指定的排序键不存在,那么数值将以它们插入的顺序升序返回。

    3. limit()

    该函数用来指定返回结果的最大数量。

    > db.mediaCollection.find().limit(1).toArray()
    [
            {
                    "_id" : ObjectId("5353462f93efef02c962da71"),
                    "Type" : "Book",
                    "Title" : "Definitive Guide to MongoDB, the",
                    "ISBN" : "987-1-4302-3051-9",
                    "Publisher" : "Apress",
                    "Author" : [
                            "Membrey, Peter",
                            "Plugge, Eelco",
                            "Hawkins, Tim"
                    ]
            }
    ]
    View Code

    4. skip()

    跳过前面两条数据。

    > db.mediaCollection.find().skip(2).toArray()
    [
            {
                    "_id" : ObjectId("5353463193efef02c962da73"),
                    "Type" : "CD",
                    "Artist" : "Nirvana",
                    "Title" : "Nevermind",
                    "Tracklist" : [
                            {
                                    "Track" : "1",
                                    "Title" : "Smells like teen spirit",
                                    "Length" : "5:02"
                            },
                            {
                                    "Track" : "2",
                                    "Title" : "In Bloom",
                                    "Length" : "4:15"
                            }
                    ]
            }
    ]
    View Code

    5. 组合使用

    [
            {
                    "_id" : ObjectId("5353462f93efef02c962da71"),
                    "Type" : "Book",
                    "Title" : "Definitive Guide to MongoDB, the",
                    "ISBN" : "987-1-4302-3051-9",
                    "Publisher" : "Apress",
                    "Author" : [
                            "Membrey, Peter",
                            "Plugge, Eelco",
                            "Hawkins, Tim"
                    ]
            },
            {
                    "_id" : ObjectId("5353462f93efef02c962da72"),
                    "Type" : "CD",
                    "Artist" : "Nirvana",
                    "Title" : "Nevermind"
            },
            {
                    "_id" : ObjectId("5353463193efef02c962da73"),
                    "Type" : "CD",
                    "Artist" : "Nirvana",
                    "Title" : "Nevermind",
                    "Tracklist" : [
                            {
                                    "Track" : "1",
                                    "Title" : "Smells like teen spirit",
                                    "Length" : "5:02"
                            },
                            {
                                    "Track" : "2",
                                    "Title" : "In Bloom",
                                    "Length" : "4:15"
                            }
                    ]
            }
    ]
    > db.mediaCollection.find().sort({"Tracklist":1}).limit(1).skip(1).toArray()
    [
            {
                    "_id" : ObjectId("5353462f93efef02c962da72"),
                    "Type" : "CD",
                    "Artist" : "Nirvana",
                    "Title" : "Nevermind"
            }
    ]
    View Code

    6. 自然顺序$natural

    > db.mediaCollection.find().sort( { $natural: -1 } ).toArray()
    [
            {
                    "_id" : ObjectId("5353463193efef02c962da73"),
                    "Type" : "CD",
                    "Artist" : "Nirvana",
                    "Title" : "Nevermind",
                    "Tracklist" : [
                            {
                                    "Track" : "1",
                                    "Title" : "Smells like teen spirit",
                                    "Length" : "5:02"
                            },
                            {
                                    "Track" : "2",
                                    "Title" : "In Bloom",
                                    "Length" : "4:15"
                            }
                    ]
            },
            {
                    "_id" : ObjectId("5353462f93efef02c962da72"),
                    "Type" : "CD",
                    "Artist" : "Nirvana",
                    "Title" : "Nevermind"
            },
            {
                    "_id" : ObjectId("5353462f93efef02c962da71"),
                    "Type" : "Book",
                    "Title" : "Definitive Guide to MongoDB, the",
                    "ISBN" : "987-1-4302-3051-9",
                    "Publisher" : "Apress",
                    "Author" : [
                            "Membrey, Peter",
                            "Plugge, Eelco",
                            "Hawkins, Tim"
                    ]
            }
    ]
    View Code

     转载至http://blog.fens.me/nodejs-mongoose-json/,

  • 相关阅读:
    & 0xFF 作用 取低8位
    java 数组
    github提交代码时,提示remote: Support for password authentication was removed on August 13,
    java Collection集合
    java Math类
    《超文本和超链接》的时间线整理
    MEAF框架概念检索工具
    如何申请苹果开发者个人账号
    c#程序打包,同时把netframework也打包进去
    c# winform 程序打包部署
  • 原文地址:https://www.cnblogs.com/wsl2011/p/4726568.html
Copyright © 2020-2023  润新知