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)//默认否
  • 相关阅读:
    iOS controller 和 window 图层
    iOS CGAffineTransform 仿射变换
    iOS UIButton的UIEdgeInsets
    iOS UI的动态布局
    iOS 栅格动态布局
    iOS 系统键盘几个类型
    iOS 金融类高精度处理
    Sublime Text (崇高文本)
    iOS 静态库——制作bundle
    iOS 静态库——制作Framework
  • 原文地址:https://www.cnblogs.com/oldzhang1222/p/7977753.html
Copyright © 2011-2022 走看看