Pārlūkot izejas kodu

Added geospatial index and search

master
Adrian Short pirms 12 gadiem
vecāks
revīzija
72041be422
1 mainītis faili ar 12 papildinājumiem un 0 dzēšanām
  1. +12
    -0
      app/models/post.rb

+ 12
- 0
app/models/post.rb Parādīt failu

@@ -10,5 +10,17 @@ class Post
key :loc, Hash # { lng, lat }
timestamps!

ensure_index [[:loc, '2d']]

belongs_to :feed
EARTH_RADIUS_KM = 6378.0
def self.near(lat, lng, radius_km)
all(
:loc => {
'$nearSphere' => [ lng, lat ],
'$maxDistance' => radius_km / EARTH_RADIUS_KM
})
end
end

Notiek ielāde…
Atcelt
Saglabāt