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>]]}

  • 相关阅读:
    02-30 线性可分支持向量机
    02-28 scikit-learn库之线朴素贝叶斯
    02-27 朴素贝叶斯
    02-26 决策树(鸢尾花分类)
    047 选项模式
    第二节:师傅延伸的一些方法(复习_总结)
    第一节:登录流程
    第一节:对应拼音编码查询(后续更新)
    前端对象
    Form表单
  • 原文地址:https://www.cnblogs.com/lilight/p/7501954.html
Copyright © 2011-2022 走看看