zoukankan      html  css  js  c++  java
  • 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/,

  • 相关阅读:
    About DEBUG_NEW
    [bbk5161] 第107集 第13章 表空间管理 05
    [bbk4975] 第103集 第13章 表空间管理 01
    [bbk5156] 第106集 第13章 表空间管理 04
    [bbk4998] 第104集 第13章 表空间管理 02
    [bbk4965] 第102集 第13章 表空间管理 00
    [bbk5119] 第105集 第13章 表空间管理 03
    如何查看表占用空间情况?
    如何手工回收段空间?
    [bbk5162] 第108集 第13章 表空间管理 06
  • 原文地址:https://www.cnblogs.com/wsl2011/p/4726568.html
Copyright © 2011-2022 走看看