zoukankan      html  css  js  c++  java
  • mongodb 索引3

    1.name属性

    当新建立索引后,可以看到name的属性值,

    当有新建索引是多个属性时,name之间就会用_隔开,且name值最多128的字节长度,当用多个属性值新建索引时,可以重新命名,

    直接索引名后边加上name属性名称,删除时也可以直接使用name来删除索引。

    2.db.tableName.ensureIndex({inserted Index},{unique:true/false})

    新建该索引,指定唯一。

    插入数据显示成功,当再次插入数据与之前插入的数据m n 相同时,报错。

    3.稀疏性-----sparse

    稀疏性举例:有一个m索引,新插入数据如果是n:1,那么m也会为这条数据创建索引,是null,当指定稀疏性后,m就不会为这条数据创建索引。

    db.tableName.ensureIndex({inserted index},{sparse:true/false)}

    mongdb默认的是不稀疏的,就是会为不存在的字段创造索引。

    好处:不必为不存在的字段创造索引,减少占用,增大速度!

    先介绍一个东西

    field: $exists: <boolean> 

    true 会查找m的数据  FALSE 查找不带m的数据

    不能在稀疏索引上查找这个字段不存在的记录,强制指定索引.hint(索引名称)

    强制指定索引后查找结果为空。

    4.地理位置索引

    分类:1.2D索引  存查平面上的点

              2.2Dsphere索引 存查球面上得点

    方式:1.查找距离某点一定距离内的点

             2.查找包含在某区域内的点

    5.2D索引

    db.tableName.ensureIndex({w:2d})

    使用经纬度表示位置【经度,纬度】

    取值范围-180<经度<180               -90<纬度<90

     插入的点要在范围,不然会发生不可预知的错误。

    查询方式:1.$near 查询:查询据某点最近的点  结果是一百个(不管满不满足条件)

                        2.$geoWithin 查询,查询某个形状的点

    不支持minDistance

    形状的表示:

    1.$box:矩形

    {$box:[[<x1>,<y1>],<x2>,<y2>]]}表示  第一个是左边界,第二个右边界

    2.圆形$center

    {$center:[[<x1>,<y1>],r]}表示

    3.多边形  $polygon

    {$polygon:[[<x1>,<y1>],[<x2>,<y2>],[<x3>,<y3>]]}

  • 相关阅读:
    人生几宝
    sleep() 和 wait() 有什么区别?
    abstract class和interface有什么区别?
    谈谈final, finally, finalize的区别
    字符串转码【String.getBytes()和new String()】
    Redis中文API地址
    java之ibatis数据缓存
    ibatis的缓存机制
    mysql|表row_format的静态与动态,Compact
    Tesseract ocr 3.02学习记录一
  • 原文地址:https://www.cnblogs.com/lilight/p/7501954.html
Copyright © 2011-2022 走看看