liuxiaoyun111 发表于 2015-7-10 10:16:03

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
      }
]  --删除全部索引不会删除默认索引
页: [1]
查看完整版本: MongoDB聚集索引基本操作