• 周蓬安.blog的博客—强国博客—人民网 2019-05-10
  • 紫光阁中共中央国家机关工作委员会 2019-05-10
  • 感触名家笔下的端午文化吃香粽原来可以这样文艺 2019-05-09
  • 追梦夺冠游行嘲讽詹皇 百万人面前穿订制T恤羞辱他 2019-04-27
  • 《瘟疫传说》:黑死病恐怖 姐弟在绝望中求生 2019-04-10
  • 陕西国防工业职业技术学院百名大学生志愿者敬老院慰问孤寡老人陕西国防工业职业技术学院百名大学生志愿者敬老院慰问-陕西教育新闻 2019-04-08
  • 西藏拉萨:新家园 新生活 2019-04-08
  • 尊重和保障宗教信仰自由的中国实践 2019-04-06
  • 一敬泯恩仇 俄罗斯队主帅这个动作太暖了 2019-03-20
  • 四大名著剧组首次同台忆往事 经典影视剧如何铸就? 2018-12-07
  • “天眼”凝望 探秘宇宙 2018-12-07
  • 0

    Mongodb下 2dsphere 索引

    Posted by 撒得一地 on 2016年4月15日 in Mongodb教程
    国外稳定加速器推荐    Express | Vypr

    在新版2.4中有此功能。

    概述

    2dsphere 索引支持球面上的几何计算的查询。2dsphere 索引支持所有 MongoDB 地理空间查询 ︰ 包含查询(在一个指定多边形内的位置进行查询)、 交集查询(查询指定几何相交的位置)和临近查询(如查询离另一个点最近的点)。地理空间查询操作,可以参阅支持地理空间查询的运算符。

    2dsphere 索引支持 GeoJSON 对象和坐标对形式的数据存储。对于坐标对存储,索引将坐标对数据转换为 GeoJSON 点。关于 GeoJSON 对象的详细信息,请参阅 GeoJSON 对象。

    像球形的默认基准是 wgs84 坐标系。坐标轴的顺序是经度,纬度。

    2dsphere (Version 2)

    在2.6版本中发生改变

    MongoDB 2.6 介绍了 2dsphere 索引的第二版。版本 2 是创建在 MongoDB 2.6 和之后系列中的 2dsphere 索引的默认版本。若要重写默认版本 2 和版本 1 索引,在创建索引时需要包含选项 {"2dsphereIndexVersion": 1}。

    (稀疏属性)sparse Property

    在2.6版中发生改变.

    2dsphere索引(版本2中)是默认的稀疏索引。如果文档没有2dsphere索引字段(或字段为null或为空数组),MongoDB 不会把文档添加到索引项字段中。对于插入操作,MongoDB 插入文档,但不会添加到 2dsphere 索引中。

    对于一个包含 2dsphere 索引键和其他类型键的复合索引,只有 2dsphere 索引字段确定是否索引引用一个文档。

    MongoDB 的早期版本只支持 2dsphere (版本 1) 索引。2dsphere (版本 1) 索引默认是稀疏性的,会拒绝带有空位置字段的文档。

    GeoJSON 对象 

    2dsphere (版本 2) 支持额外的 GeoJSON 对象,包括︰ 多点(MultiPoint)、 多个线段(MultiLineString)、多个多边形(MultiPolygon,)、几何集合(GeometryCollection)。所有支持的 GeoJSON 对象的详细信息,请参阅 GeoJSON 对象。

    注意事项

    geoNear 和 $geoNear 限制

    geoNear 命令和 $geoNear 管道阶段(pipeline stage)要求一个集合顶多只能有一个 2dsphere 索引 或 只有一个 2d 索引,而地理空间查询运算符 (如 $near 和 $geoWithin) 允许集合具有多个地理空间索引。

    对于GeoNear 命令和 $geoNear 管道阶段的地理空间索引存在的限制,是因为 geoNear 命令和 $geoNear 管道阶段语法里没有包括位置字段。因此,如何在多个 2d 或者 2dsphere 索引中做选择这将造成歧义。

    这种限制并不适用于地理空间查询运算符,因为这些操作符要求指定一个地理位置字段,来消除歧义。

    Shard Key Restrictions
    分片键限制

    你不能使用 2dsphere 索引作为一个分片键(shard key)来划分分片集合。然而,你可以在分片集合上使用不同的字段作为分片键来创建和维护地理空间索引。

    2dsphere 索引字段的限制

    具有 2dsphere 索引的字段必须存储几何坐标对形式的数据或 GeoJSON 数据。如果您尝试在文档的 2dsphere 索引字段中插入带有非几何类型的数据,或者在一个集合中生成 2dsphere 索引,而被索引的字段存储非几何类型的数据,则操作将失败。

    创建一个 2dsphere 索引

    若要创建一个 2dsphere 索引,使用 db.collection.createIndex() 方法,将位置字段指定为键和指定字符串文字"2dsphere"作为索引类型 ︰

    db.collection.createIndex({<location field>:"2dsphere"})
    

    与复合的 2d 索引可以引用一个位置字段和另一个字段不同的是, 2dsphere 索引可以引用多个位置和非位置字段

    上一篇:

    下一篇:

    相关推荐

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    2 + 3 = ?

    网站地图|广东快乐10分开奖直播

    Copyright © 2015-2019 广东快乐10分开奖直播 All rights reserved.
    闽ICP备15015576号-1,版权所有?psz.

  • 周蓬安.blog的博客—强国博客—人民网 2019-05-10
  • 紫光阁中共中央国家机关工作委员会 2019-05-10
  • 感触名家笔下的端午文化吃香粽原来可以这样文艺 2019-05-09
  • 追梦夺冠游行嘲讽詹皇 百万人面前穿订制T恤羞辱他 2019-04-27
  • 《瘟疫传说》:黑死病恐怖 姐弟在绝望中求生 2019-04-10
  • 陕西国防工业职业技术学院百名大学生志愿者敬老院慰问孤寡老人陕西国防工业职业技术学院百名大学生志愿者敬老院慰问-陕西教育新闻 2019-04-08
  • 西藏拉萨:新家园 新生活 2019-04-08
  • 尊重和保障宗教信仰自由的中国实践 2019-04-06
  • 一敬泯恩仇 俄罗斯队主帅这个动作太暖了 2019-03-20
  • 四大名著剧组首次同台忆往事 经典影视剧如何铸就? 2018-12-07
  • “天眼”凝望 探秘宇宙 2018-12-07
  • 新时时彩几时开 上海时时彩走势图表 蓝月亮聊天报码室 七乐彩走势图500期 3d绝杀号公式 pc蛋蛋全包 七星彩开奖直播 半全场只对一个 河南481新开奖视频 福彩网上群英会下载 北京赛车彩票开奖网站 北京赛车pk10公式改单 彩经网首页 新时时彩兑奖规则 百度四川时时彩 上海快3开奖结果