Ruby路由中具有距离的MongoDB地理空间查询

时间:2019-01-02 18:08:02

标签: ruby mongodb collections sinatra geospatial

我正在尝试将maxDistance过滤器添加到我的集合查询中,但是只要我应用该过滤器,它就不会返回任何内容。如果我不应用maxDistance,那么完整的集合就会出现。

我最终想要返回的是距提供的坐标所提供距离内的位置,以及返回bson对象内彼此之间基于整数的距离。

任何帮助都将不胜感激!

//Find method
@stores =[]
collection.find({
  "location" => {
    "$near" => {
        "$geometry" => {
          "type" =>'Point',
          "coordinates" => [1,1]
        },
        "$maxDistance" => 5000 
        // if deleted will return full collection
    }
  }
}).each do |doc|
      @stores.push(doc)
    end
 
 //collection index 
     @grid = collection.indexes.create_one({ "collection" => "2dsphere"})
     
// collection sample
collection.insert_one({
      :id => 3,
      :rid => "tango",
      :location => [18, 15]
    })

 
    
 

0 个答案:

没有答案