zoukankan      html  css  js  c++  java
  • Mongo索引

    • 索引
      • id索引
        • 默认建立的唯一索引
      • 单建索引
        • 最普通的索引,不会自动创建
      • 多键索引
        • 值具有多个记录
      • 复合索引
        • 查询条件不止一个的时候,用复合索引
      • 过期索引
        • db.test.ensureIndex({time:1},{expireAfterSeconds:30})
        • 过期索引(登录信息,或者日志信息),必须是指定的时间类型(isoDate)
        • 过期索引不能是符合索引
        • 删除时间不是精确的,mongodb每60秒扫描一次
      • 全文索引
        • 对字符串与字符创数组创建全文可搜索的索引
        • db.local_2.ensureIndex({"article":"text"})
        • db.local_2.find({$text:{$search:"aa bb cc"}}) //只有一个全文索引,或查询
        • db.local_2.find({$text:{$search:""aa" "bb"" cc"}})同时包含有aa bb的
        • db.test.find({$text:{$search:"aa bb"}},{score:{$meta:"textScore"}}).sort({score:{$meta:"textScore"}})相似度索引
          • 全局索引的限制:
          • 每次查询,只能指定一个$text查询
          • $text查询不能出现在$nor查询中
          • 查询中如果包含了$text, hint不再起作用
      • 地理位置索引
        • 地理位置索引
          • 概念:将一些点的位置存储在MongoDB中,创建索引后,可以按照位置来查找其他点
        • 子分类
          • 2d索引:用于存储和查找平面上的点
            • $near查询 :查询距离某个点最近的点(会返回100个最近的点)
              • db.location.find({w:{$near:[1,1],$maxDistance:10}}) maxDistance:最大距离10的点,near不支持minDistance
            • $getWidthin查询:查询某个形状内的点
              • $box:矩形,使用
                • {$box:[[,],[,]]}//第一个坐标代表左边界,第二个右边界db.collection.find({w:{$geowithin:{$box:[[1,1],[2,3]]}}})
              • $center:圆形
                • {$center:[[,],r]}//r为圆的半径
              • $polygon:多边形
                • {$polygon:[[,],[,],[,]]}
              • db.runCommand({
                • getNear:, //指定数据集合
                • near:[x,y], //查询坐标
                • minDistance: (对2d索引无效,对2dsphere有效)
                • maxDistance: //返回符合文档最多的数量
                • num:2 //返回的数量})
          • 2dsphere索引:用于存储和查找球面上的点
            • db.collection.ensureIndex({w:"2dsphere"})
        • 两种查找方式
          • 查找距离某个点一定距离内的点
          • 查找包含在某个区域内的点 *索引的属性
      • 索引的创建db.collenction.ensureIndex({param1},{param2})-->param1是索引的值,param2是索引的属性。
      • 名字:name
        • db.collenction.ensureIndex({x:1,y:2,z:3},{name:"normal_index"}) //指定名字
        • db.collenction.dropIndex("normal_index") //可用名字代替删除索引
      • 唯一性
        • db.集合名.ensureIndex({age:1}, {unique: true/false});
      • 稀疏性
        • db.test.createIndex({xm:1},sparse:true)//默认否
  • 相关阅读:
    网络测量中基于Sketch方法的简单介绍
    Reading SBAR SDN flow-Based monitoring and Application Recognition
    Reading Meticulous Measurement of Control Packets in SDN
    Reading SketchVisor Robust Network Measurement for Sofeware Packet Processing
    ovs加dpdk在日志中查看更多运行细节的方法
    后缀数组
    (转载)LCA问题的Tarjan算法
    Codeforces Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) A. Checking the Calendar(水题)
    Vijos 1816统计数字(计数排序)
    卡特兰数
  • 原文地址:https://www.cnblogs.com/oldzhang1222/p/7977753.html
Copyright © 2011-2022 走看看