【MongoDB学习笔记22】MongoDB的索引管理

  

使用ensureIndex函数创建集合的索引。

对集合而言,每个索引只需要创建一次,重复创建没有任何作用;

祝辞,show  collections ,,   system.indexes ,,,   用户

所有的数据库的索引元数据都存放在system.indexs的集合中,

,

使用getIndexes函数查看给定的集合上的索引信息:

祝辞,db.users.getIndexes (),,,   (,,,,   ,,,{,,,   ,,,,,,,“v”,:,,,,,,   ,,,,,,,“关键”,:,{,,,   ,,,,,,,,,,,,“_id”:, 1,,,,   ,,,,,,,},,,,,   ,,,,,,,“名字”,:,“_id_”,,,,,   ,,,,,,,,“ns”:,“blog.users”,,,,   ,,,},,,,,   ,,,{,,,   ,,,,,,,“v”,:,,,,,,   ,,,,,,,“关键”,:,{,,,   ,,,,,,,,,,,“用户名”,:,1,,,,   ,,,,,,,},,,,,   ,,,,,,,“名字”,:,“username_1”,,,,,   ,,,,,,,,“ns”:,“blog.users”,,,,   ,,,},,,,,   ,,,{,,,   ,,,,,,,“v”,:,,,,,,   ,,,,,,,“关键”,:,{,,,   ,,,,,,,,,,,“年龄”,:,,,,,,   ,,,,,,,,,,,“用户名”,:,1,,,,   ,,,,,,,},,,,,   ,,,,,,,“名字”,:,“age_1_username_1”,,,,,   ,,,,,,,,“ns”:,“blog.users”,,,,   ,,,},,,,   ),,,,   在

可以适应dropIndex函数删除指定的索引:

祝辞,db.users.dropIndex({“用户名”:1}),,,   {,“nIndexesWas”:, 3,“ok”,:, 1,},,,,   祝辞,db.users.getIndexes (),,,,   (,,,,   ,,,{,,,   ,,,,,,,“v”,:,,,,,,   ,,,,,,,“关键”,:,{,,,   ,,,,,,,,,,,,“_id”:, 1,,,,   ,,,,,,,},,,,,   ,,,,,,,“名字”,:,“_id_”,,,,,   ,,,,,,,,“ns”:,“blog.users”,,,,   ,,,},,,,,   ,,,{,,,   ,,,,,,,“v”,:,,,,,,   ,,,,,,,“关键”,:,{,,,   ,,,,,,,,,,,“年龄”,:,,,,,,   ,,,,,,,,,,,“用户名”,:,1,,,,   ,,,,,,,},,,,,   ,,,,,,,“名字”,:,“age_1_username_1”,,,,,   ,,,,,,,,“ns”:,“blog.users”,,,,   ,,,},,,,   ),,,,   在

上述的例子中可以看到索引的标识默认格式为keyname1_dir1_keyname2_dir….keynameN_DirN;

也可以指定标识名:

祝辞,db.users.ensureIndex({“用户名”:1},{“名称”:“firstname”}),,,   {,,,   ,,,,“createdCollectionAutomatically”:,假的,,,,,   ,,,“numIndexesBefore”,:,,,,,,   ,,,“numIndexesAfter”,:,,,,,,   ,,,“ok”,,, 1,,,,   },,,,   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

【MongoDB学习笔记22】MongoDB的索引管理