fjb_mxcz 2018-03-22 07:22 采纳率: 0%
浏览 875
已结题

MongoDB中地理空间查询运算符相关问题

现在最新的MongoDB版本为3.6,根据官网上的描述图片说明 前三个貌似支持吃2d索引,现在官网建议是使用2dsphere,解决具体的业务,比如我们有一个区域查物的功能,这个区域可能是多边形,矩形或者圆形,那么如果我们的数据库表建立的是2dsphere 虽然也能查,但是其实是不走索引的,必须建立2d索引才行,有没有什么办法是我建立的是2dshpere索引,有相关的办法可以替代。

  • 写回答

1条回答 默认 最新

  • fjb_mxcz 2018-04-19 01:48
    关注

    针对查找指定范围内车辆信息的功能,一般的图形无非就是多边形,矩形,圆形,而我们可以认为矩形是一种特殊的多边形。
    直接使用的方法就是 geoWithin https://docs.mongodb.com/manual/reference/operator/query/geoWithin/
    6.1、geoWithin可以没有地理空间索引,但是也可以同时支持2d和2dsphere索引,geoWithin的超找范围支持到多边形,注意
    使用时第一个点必须和最后一个点一样,否则会报错。
    针对圆形,官网直接提供了centerSphere https://docs.mongodb.com/manual/reference/operator/query/centerSphere/
    centerSphere 可以没有地理空间索引,但是也可以同时支持2d和2dsphere索引
    使用centerSphere ,最后一个参数为弧度,计算方式为:
    英里/3963.2 公里/6,378.1
    https://docs.mongodb.com/manual/tutorial/calculate-distances-using-spherical-geometry-with-2d-geospatial-indexes/index.html

    评论

报告相同问题?

悬赏问题

  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向