zoukankan      html  css  js  c++  java
  • MongoDB小结26

    现在有一种查询变得越来越流行(尤其是移动设备):找到离当前位置最近的N个场所。 MongoDB专为平面坐标查询做了专门的索引,称为地理空间索引。

    同样需要用ensureIndex创建,不过,参数是两个 "2d"

    db.map.ensureIndex({"gps":"2d"})

    gps键的值必须是某种形式的一对值:一个包含两个元素的数组或者包含两个键的内嵌文档,像这样

    {"gps":[0,100]}

    {"gps":{"x":-30,"y":30}}

    还可以用min和max设定选项的最大值和最小值

    现在我们可以查询

    db.map.find({"gps":{"$near":[40,-73]}})

    这会按照点(40,-73)由近及远的方式将map集合的所有文档都返回

    不仅如此,还可以指定形状,比如矩形

    db.map.find({"gps":{"$within":{"$box":[ [10,20],[15,30] ]}}})

    $box是两个元素的数组,第一个元素指左下方,第二个指右上角。 还可以用它来找到园内的点

    db.map.find({"gps":{"$within":{"$center":[[10,30],5],}}})

  • 相关阅读:
    JSONP原理
    什么是跨域,如何解决
    工程化与模块化开
    vue双向数据绑定原理
    vuex原理
    BFC 原理
    http状态码 301、302区别
    用户页面打开很慢,有哪些优化方式?
    webpack打包
    Promise 原理
  • 原文地址:https://www.cnblogs.com/caohaifeng/p/5550735.html
Copyright © 2011-2022 走看看