zoukankan      html  css  js  c++  java
  • MongoDB聚集索引基本操作

    查看当前聚集的全部索引

    > db.Account.getIndexes()
    [
            {
                    
    "name" : "_id_",
                    
    "ns" : "ChatRoom.Account",
                    
    "key" : {
                            
    "_id" : 1
                    },
                    
    "v" : 0
            }
    ]

     创建单列索引

    > db.Account.ensureIndex({"UserName":1})

    --1:ASC   -1:DESC

    创建单列唯一索引

    > db.Account.ensureIndex({"UserName" : 1},{"unique" : true})

    创建单列唯一不重复索引

    > db.Account.ensureIndex({"UserName" : 1},{"unique" : true,"dropDups" : true})

    创建组合索引

    > db.Account.ensureIndex({"UserName":1,"Email":1})
    > db.Account.getIndexes()
    [
            {
                    
    "name" : "_id_",
                    
    "ns" : "ChatRoom.Account",
                    
    "key" : {
                            
    "_id" : 1
                    },
                    
    "v" : 0
            },
            {
                    
    "_id" : ObjectId("4df7092607444568af61cffd"),
                    
    "ns" : "ChatRoom.Account",
                    
    "key" : {
                            
    "UserName" : 1
                    },
                    
    "name" : "UserName_1",
                    
    "v" : 0
            },
            {
                    
    "_id" : ObjectId("4df70dae07444568af61cffe"),
                    
    "ns" : "ChatRoom.Account",
                    
    "key" : {
                            
    "UserName" : 1,
                            
    "Email" : 1
                    },
                    
    "name" : "UserName_1_Email_1",
                    
    "v" : 0
            }
    ]

    删除索引

    > db.Account.dropIndex({"UserName":1})
    "nIndexesWas" : 3"ok" : 1 }
    > db.Account.dropIndex("UserName_1")
    "nIndexesWas" : 3"ok" : 1 }

    删除聚集全部的索引

    > db.Account.dropIndexes()
    {
            
    "nIndexesWas" : 3,
            
    "msg" : "non-_id indexes dropped for collection",
            
    "ok" : 1
    }
    > db.Account.getIndexes()
    [
            {
                    
    "name" : "_id_",
                    
    "ns" : "ChatRoom.Account",
                    
    "key" : {
                            
    "_id" : 1
                    },
                    
    "v" : 0
            }
    ]

    --删除全部索引不会删除默认索引

  • 相关阅读:
    条款41:了解隐式接口和编译期多态
    条款41:了解隐式接口和编译期多态
    虚机制
    条款31:将文件间的编译依存关系降至最低
    条款30:透彻了解inlining的里里外外
    条款28:避免返回handles 指向对象内部成分
    条款27:尽量少做转型动作
    条款26:尽可能延后变量定义式的出现时间
    条款25: 考虑写出一个不抛异常的swap函数
    APP测试工程师面试题:之一
  • 原文地址:https://www.cnblogs.com/libingql/p/2080658.html
Copyright © 2011-2022 走看看