zoukankan      html  css  js  c++  java
  • MongoDB

    db.collection.find()查询集合会返回一个包含查到的文档的游标。在mongo shell中,如果没有定义一个变量来该游标的内容,默认会迭代返回20个文档。

    > db.users.count();db.users.count();
    26
    > db.users.find();db.users.find();
    { "_id" : ObjectId("5667dbba614c1d1953bce9ba"), "name" : "yb1", "age" : 1, "status" : "A" }
    { "_id" : ObjectId("5667dbba614c1d1953bce9bb"), "name" : "yb2", "age" : 2, "status" : "B" }
    { "_id" : ObjectId("5667dbba614c1d1953bce9bc"), "name" : "yb3", "age" : 3, "status" : "C" }
    { "_id" : ObjectId("5667dbba614c1d1953bce9bd"), "name" : "yb4", "age" : 4, "status" : "D" }
    { "_id" : ObjectId("5667dbba614c1d1953bce9be"), "name" : "yb5", "age" : 5, "status" : "E" }
    { "_id" : ObjectId("5667dbba614c1d1953bce9bf"), "name" : "yb6", "age" : 6, "status" : "F" }
    { "_id" : ObjectId("5667dbbb614c1d1953bce9c0"), "name" : "yb7", "age" : 7, "status" : "G" }
    { "_id" : ObjectId("5667dbbb614c1d1953bce9c1"), "name" : "yb8", "age" : 8, "status" : "H" }
    { "_id" : ObjectId("5667dbbb614c1d1953bce9c2"), "name" : "yb9", "age" : 9, "status" : "I" }
    { "_id" : ObjectId("5667dbbb614c1d1953bce9c3"), "name" : "yb10", "age" : 10, "status" : "J" }
    { "_id" : ObjectId("5667dbbb614c1d1953bce9c4"), "name" : "yb11", "age" : 11, "status" : "K" }
    { "_id" : ObjectId("5667dbbb614c1d1953bce9c5"), "name" : "yb12", "age" : 12, "status" : "L" }
    { "_id" : ObjectId("5667dbbb614c1d1953bce9c6"), "name" : "yb13", "age" : 13, "status" : "M" }
    { "_id" : ObjectId("5667dbbb614c1d1953bce9c7"), "name" : "yb14", "age" : 14, "status" : "N" }
    { "_id" : ObjectId("5667dbbb614c1d1953bce9c8"), "name" : "yb15", "age" : 15, "status" : "O" }
    { "_id" : ObjectId("5667dbbb614c1d1953bce9c9"), "name" : "yb16", "age" : 16, "status" : "P" }
    { "_id" : ObjectId("5667dbbb614c1d1953bce9ca"), "name" : "yb17", "age" : 17, "status" : "Q" }
    { "_id" : ObjectId("5667dbbb614c1d1953bce9cb"), "name" : "yb18", "age" : 18, "status" : "R" }
    { "_id" : ObjectId("5667dbbb614c1d1953bce9cc"), "name" : "yb19", "age" : 19, "status" : "S" }
    { "_id" : ObjectId("5667dbbb614c1d1953bce9cd"), "name" : "yb20", "age" : 20, "status" : "T" }
    Type "it" for more
    > 
    

    手动迭代游标:

    > var myCursor = db.users.find();
    > myCursor { "_id" : ObjectId("5667dbba614c1d1953bce9ba"), "name" : "yb1", "age" : 1, "status" : "A" } { "_id" : ObjectId("5667dbba614c1d1953bce9bb"), "name" : "yb2", "age" : 2, "status" : "B" } { "_id" : ObjectId("5667dbba614c1d1953bce9bc"), "name" : "yb3", "age" : 3, "status" : "C" } { "_id" : ObjectId("5667dbba614c1d1953bce9bd"), "name" : "yb4", "age" : 4, "status" : "D" } { "_id" : ObjectId("5667dbba614c1d1953bce9be"), "name" : "yb5", "age" : 5, "status" : "E" } { "_id" : ObjectId("5667dbba614c1d1953bce9bf"), "name" : "yb6", "age" : 6, "status" : "F" } { "_id" : ObjectId("5667dbbb614c1d1953bce9c0"), "name" : "yb7", "age" : 7, "status" : "G" } { "_id" : ObjectId("5667dbbb614c1d1953bce9c1"), "name" : "yb8", "age" : 8, "status" : "H" } { "_id" : ObjectId("5667dbbb614c1d1953bce9c2"), "name" : "yb9", "age" : 9, "status" : "I" } { "_id" : ObjectId("5667dbbb614c1d1953bce9c3"), "name" : "yb10", "age" : 10, "status" : "J" } { "_id" : ObjectId("5667dbbb614c1d1953bce9c4"), "name" : "yb11", "age" : 11, "status" : "K" } { "_id" : ObjectId("5667dbbb614c1d1953bce9c5"), "name" : "yb12", "age" : 12, "status" : "L" } { "_id" : ObjectId("5667dbbb614c1d1953bce9c6"), "name" : "yb13", "age" : 13, "status" : "M" } { "_id" : ObjectId("5667dbbb614c1d1953bce9c7"), "name" : "yb14", "age" : 14, "status" : "N" } { "_id" : ObjectId("5667dbbb614c1d1953bce9c8"), "name" : "yb15", "age" : 15, "status" : "O" } { "_id" : ObjectId("5667dbbb614c1d1953bce9c9"), "name" : "yb16", "age" : 16, "status" : "P" } { "_id" : ObjectId("5667dbbb614c1d1953bce9ca"), "name" : "yb17", "age" : 17, "status" : "Q" } { "_id" : ObjectId("5667dbbb614c1d1953bce9cb"), "name" : "yb18", "age" : 18, "status" : "R" } { "_id" : ObjectId("5667dbbb614c1d1953bce9cc"), "name" : "yb19", "age" : 19, "status" : "S" } { "_id" : ObjectId("5667dbbb614c1d1953bce9cd"), "name" : "yb20", "age" : 20, "status" : "T" } Type "it" for more >
    > var myCursor = db.users.find();
    > while(myCursor.hasNext()){print(tojson(myCursor.next()));}
    { "_id" : ObjectId("5667dbba614c1d1953bce9ba"), "name" : "yb1", "age" : 1, "status" : "A" } { "_id" : ObjectId("5667dbba614c1d1953bce9bb"), "name" : "yb2", "age" : 2, "status" : "B" } { "_id" : ObjectId("5667dbba614c1d1953bce9bc"), "name" : "yb3", "age" : 3, "status" : "C" } { "_id" : ObjectId("5667dbba614c1d1953bce9bd"), "name" : "yb4", "age" : 4, "status" : "D" } { "_id" : ObjectId("5667dbba614c1d1953bce9be"), "name" : "yb5", "age" : 5, "status" : "E" } { "_id" : ObjectId("5667dbba614c1d1953bce9bf"), "name" : "yb6", "age" : 6, "status" : "F" } { "_id" : ObjectId("5667dbbb614c1d1953bce9c0"), "name" : "yb7", "age" : 7, "status" : "G" } { "_id" : ObjectId("5667dbbb614c1d1953bce9c1"), "name" : "yb8", "age" : 8, "status" : "H" } { "_id" : ObjectId("5667dbbb614c1d1953bce9c2"), "name" : "yb9", "age" : 9, "status" : "I" } { "_id" : ObjectId("5667dbbb614c1d1953bce9c3"), "name" : "yb10", "age" : 10, "status" : "J" } { "_id" : ObjectId("5667dbbb614c1d1953bce9c4"), "name" : "yb11", "age" : 11, "status" : "K" } { "_id" : ObjectId("5667dbbb614c1d1953bce9c5"), "name" : "yb12", "age" : 12, "status" : "L" } { "_id" : ObjectId("5667dbbb614c1d1953bce9c6"), "name" : "yb13", "age" : 13, "status" : "M" } { "_id" : ObjectId("5667dbbb614c1d1953bce9c7"), "name" : "yb14", "age" : 14, "status" : "N" } { "_id" : ObjectId("5667dbbb614c1d1953bce9c8"), "name" : "yb15", "age" : 15, "status" : "O" } { "_id" : ObjectId("5667dbbb614c1d1953bce9c9"), "name" : "yb16", "age" : 16, "status" : "P" } { "_id" : ObjectId("5667dbbb614c1d1953bce9ca"), "name" : "yb17", "age" : 17, "status" : "Q" } { "_id" : ObjectId("5667dbbb614c1d1953bce9cb"), "name" : "yb18", "age" : 18, "status" : "R" } { "_id" : ObjectId("5667dbbb614c1d1953bce9cc"), "name" : "yb19", "age" : 19, "status" : "S" } { "_id" : ObjectId("5667dbbb614c1d1953bce9cd"), "name" : "yb20", "age" : 20, "status" : "T" } { "_id" : ObjectId("5667dbbb614c1d1953bce9ce"), "name" : "yb21", "age" : 21, "status" : "U" } { "_id" : ObjectId("5667dbbb614c1d1953bce9cf"), "name" : "yb22", "age" : 22, "status" : "V" } { "_id" : ObjectId("5667dbbb614c1d1953bce9d0"), "name" : "yb23", "age" : 23, "status" : "W" } { "_id" : ObjectId("5667dbbb614c1d1953bce9d1"), "name" : "yb24", "age" : 24, "status" : "X" } { "_id" : ObjectId("5667dbbb614c1d1953bce9d2"), "name" : "yb25", "age" : 25, "status" : "Y" } { "_id" : ObjectId("5667dbbc614c1d1953bce9d3"), "name" : "yb26", "age" : 26, "status" : "Z" } >
    > var myCursor = db.users.find();
    > while(myCursor.hasNext()){printjson(myCursor.next());}
    {
            "_id" : ObjectId("5667dbba614c1d1953bce9ba"),
            "name" : "yb1",
            "age" : 1,
            "status" : "A"
    }
    {
            "_id" : ObjectId("5667dbba614c1d1953bce9bb"),
            "name" : "yb2",
            "age" : 2,
            "status" : "B"
    }
    {
            "_id" : ObjectId("5667dbba614c1d1953bce9bc"),
            "name" : "yb3",
            "age" : 3,
            "status" : "C"
    }
    {
            "_id" : ObjectId("5667dbba614c1d1953bce9bd"),
            "name" : "yb4",
            "age" : 4,
            "status" : "D"
    }
    {
            "_id" : ObjectId("5667dbba614c1d1953bce9be"),
            "name" : "yb5",
            "age" : 5,
            "status" : "E"
    }
    {
            "_id" : ObjectId("5667dbba614c1d1953bce9bf"),
            "name" : "yb6",
            "age" : 6,
            "status" : "F"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9c0"),
            "name" : "yb7",
            "age" : 7,
            "status" : "G"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9c1"),
            "name" : "yb8",
            "age" : 8,
            "status" : "H"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9c2"),
            "name" : "yb9",
            "age" : 9,
            "status" : "I"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9c3"),
            "name" : "yb10",
            "age" : 10,
            "status" : "J"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9c4"),
            "name" : "yb11",
            "age" : 11,
            "status" : "K"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9c5"),
            "name" : "yb12",
            "age" : 12,
            "status" : "L"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9c6"),
            "name" : "yb13",
            "age" : 13,
            "status" : "M"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9c7"),
            "name" : "yb14",
            "age" : 14,
            "status" : "N"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9c8"),
            "name" : "yb15",
            "age" : 15,
            "status" : "O"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9c9"),
            "name" : "yb16",
            "age" : 16,
            "status" : "P"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9ca"),
            "name" : "yb17",
            "age" : 17,
            "status" : "Q"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9cb"),
            "name" : "yb18",
            "age" : 18,
            "status" : "R"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9cc"),
            "name" : "yb19",
            "age" : 19,
            "status" : "S"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9cd"),
            "name" : "yb20",
            "age" : 20,
            "status" : "T"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9ce"),
            "name" : "yb21",
            "age" : 21,
            "status" : "U"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9cf"),
            "name" : "yb22",
            "age" : 22,
            "status" : "V"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9d0"),
            "name" : "yb23",
            "age" : 23,
            "status" : "W"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9d1"),
            "name" : "yb24",
            "age" : 24,
            "status" : "X"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9d2"),
            "name" : "yb25",
            "age" : 25,
            "status" : "Y"
    }
    {
            "_id" : ObjectId("5667dbbc614c1d1953bce9d3"),
            "name" : "yb26",
            "age" : 26,
            "status" : "Z"
    }
    > 
    
    > var myCursor = db.users.find();
    > myCursor.forEach(printjson);
    {
            "_id" : ObjectId("5667dbba614c1d1953bce9ba"),
            "name" : "yb1",
            "age" : 1,
            "status" : "A"
    }
    {
            "_id" : ObjectId("5667dbba614c1d1953bce9bb"),
            "name" : "yb2",
            "age" : 2,
            "status" : "B"
    }
    {
            "_id" : ObjectId("5667dbba614c1d1953bce9bc"),
            "name" : "yb3",
            "age" : 3,
            "status" : "C"
    }
    {
            "_id" : ObjectId("5667dbba614c1d1953bce9bd"),
            "name" : "yb4",
            "age" : 4,
            "status" : "D"
    }
    {
            "_id" : ObjectId("5667dbba614c1d1953bce9be"),
            "name" : "yb5",
            "age" : 5,
            "status" : "E"
    }
    {
            "_id" : ObjectId("5667dbba614c1d1953bce9bf"),
            "name" : "yb6",
            "age" : 6,
            "status" : "F"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9c0"),
            "name" : "yb7",
            "age" : 7,
            "status" : "G"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9c1"),
            "name" : "yb8",
            "age" : 8,
            "status" : "H"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9c2"),
            "name" : "yb9",
            "age" : 9,
            "status" : "I"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9c3"),
            "name" : "yb10",
            "age" : 10,
            "status" : "J"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9c4"),
            "name" : "yb11",
            "age" : 11,
            "status" : "K"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9c5"),
            "name" : "yb12",
            "age" : 12,
            "status" : "L"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9c6"),
            "name" : "yb13",
            "age" : 13,
            "status" : "M"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9c7"),
            "name" : "yb14",
            "age" : 14,
            "status" : "N"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9c8"),
            "name" : "yb15",
            "age" : 15,
            "status" : "O"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9c9"),
            "name" : "yb16",
            "age" : 16,
            "status" : "P"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9ca"),
            "name" : "yb17",
            "age" : 17,
            "status" : "Q"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9cb"),
            "name" : "yb18",
            "age" : 18,
            "status" : "R"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9cc"),
            "name" : "yb19",
            "age" : 19,
            "status" : "S"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9cd"),
            "name" : "yb20",
            "age" : 20,
            "status" : "T"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9ce"),
            "name" : "yb21",
            "age" : 21,
            "status" : "U"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9cf"),
            "name" : "yb22",
            "age" : 22,
            "status" : "V"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9d0"),
            "name" : "yb23",
            "age" : 23,
            "status" : "W"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9d1"),
            "name" : "yb24",
            "age" : 24,
            "status" : "X"
    }
    {
            "_id" : ObjectId("5667dbbb614c1d1953bce9d2"),
            "name" : "yb25",
            "age" : 25,
            "status" : "Y"
    }
    {
            "_id" : ObjectId("5667dbbc614c1d1953bce9d3"),
            "name" : "yb26",
            "age" : 26,
            "status" : "Z"
    }
    > 
    

    使用迭代器索引
    在mongo shell中,可以使用toArray()方法来迭代游标,并以array的形式返回游标的内容

    > var myCursor = db.users.find();
    > var usersArray = myCursor.toArray();
    > var myDocument = usersArray[3]
    > myDocumentmyDocument
    {
            "_id" : ObjectId("5667dbba614c1d1953bce9bd"),
            "name" : "yb4",
            "age" : 4,
            "status" : "D"
    }
    > 
    

    也可以直接在游标上加下标的方式,查看文档:(cursor[index])

    > var myCursor =db.users.find();
    > var myCursor =myCursor[3];
    > myCursormyCursor
    {
            "_id" : ObjectId("5667dbba614c1d1953bce9bd"),
            "name" : "yb4",
            "age" : 4,
            "status" : "D"
    }
    > 
    

     cursor[index]等价于cursor.toArray()[index]

    缺省情况下,在会话处于非活跃状态10分钟后,或者客户端已经遍历了游标的内容,mongodb会自动关闭游标。
    如果想修改超时时间,使用cursor的时候,可以使用cursor.addOption()来修改noTimeout标记:

    var myCursor = db.users.find().addOption(DBQuery.Option.noTimeout);
    

     记得要及时关闭游标!

  • 相关阅读:
    关联容器:unordered_map详细介绍
    c++类成员变量初始化相关问题
    全方位深入理解JavaScript面向对象
    彻底搞懂 JS 中 this 机制
    IDEA 服务器热部署详解(On Update action/On frame deactivation)
    Java书籍推荐
    JSTL
    谭浩强的书中的一些知识点(1)
    EL表达式
    第一章第二章
  • 原文地址:https://www.cnblogs.com/abclife/p/5033101.html
Copyright © 2011-2022 走看看