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

  • 相关阅读:
    Linux rcp命令详解
    Linux patch命令详解
    Linux paste命令详解
    linux od命令详解
    linux mv命令详解
    Linux more命令详解
    Linux mktemp命令
    MySQL状态变量详解
    mysql性能分析show profile/show profiles
    MySQL执行计划
  • 原文地址:https://www.cnblogs.com/caohaifeng/p/5550735.html
Copyright © 2011-2022 走看看