zoukankan      html  css  js  c++  java
  • mongdb_使用索引

    索引

    MongoDB是基于集合建立索引(index),索引的作用类似于传统关系型数据库,目前是为了提高查询速度。

    MongoDB的索引基于B-tree数据结构及对应算法形成。

    默认情况下,在建立集合的同时,MongoDB数据库自动为集合_id建立唯一索引,可以避免重复插入同一_id值的文档记录

    单一字段(键)索引

    语法: db.collection_name.createIndex({<key>:<n>})

    命令说明: 对一个集合文档的键建立索引,key为键名,n=1为升序,n=-1为降序。

    对单一键建立索引

     

    显示:

     

    嵌套文档单字段索引

     

    字段值唯一索引

    语法: db.collection_name,createIndex({<key>:<n>,<key>:<n>,…},

           {unique:true})

    命令说明: 对一个或多个字段建立唯一索引。Key为键名,n=1为升序,n=-1为降序

     

    多字段索引

    语法: db.collection_name.createIndex({<key>:<n>,<key>:<n>,…})

    命令说明: 对两个或两个以上的字段建立索引。Key为键名,n=1为升序,n=-1为降序

    建立多字段索引

     

    多字段唯一索引

     

    文本索引

    语法: db.collection_name.createIndex({<key1>:”text”,<key2>:”text’,…})

    命令说明: 在集合里,为文本字段内容的文档建立文本索引

    基本文本索引

     

    指定权重文本索引

     

    通配符文本索引

     

    哈希索引

     

    ensureIndex()索引

    语法: db.collection_name.ensureIndex({{key1:n},{key2:n},…},option)

    命令说明: key1、key2是集合里的键名;n=1为升序,n=-1为降序;option为可选参数

     

    与索引相关的其他方法

    db.collection.dropIndex(index):     移除集合指定的索引功能。Index参数为指定需要删除的集合索引名,可用getIndexes()函数获取集合的所有索引名称。

    db.collection.dropIndexes():     移除一个集合的所有索引名称。

    db.collection.getIndexes():       返回一个指定集合的现有索引描述信息的文档数组。

    db.collection.reIndex():       删除指定集合上所有索引,并重新构建所有现有索引。在具有大量数据集合的情况下,该操作非常消耗服务器的运行资源。

    db.collection.totalIndexSize():    提供指定集合索引大小的报告信息。

    学习中,博客都是自己学习用的笔记,持续更新改正。。。
  • 相关阅读:
    1G→2G→3G→4G→5G:一部波澜壮阔的移动通信史
    Android-X86 创始人
    如果Android 8.0的代码重新改写,那么Fuchsia OS的意义何在?
    (OK) Install php 5.6 in fedora-27
    父亲
    魏永明: MiniGUI的涅槃重生之路
    LeetCode 374. Guess Number Higher or Lower
    LeetCode 278. First Bad Version
    LeetCode 35. Search Insert Position
    查找算法-二分查找
  • 原文地址:https://www.cnblogs.com/Tunan-Ki/p/11752530.html
Copyright © 2011-2022 走看看