mongodb select tracks optimized

This commit is contained in:
Hipster Hitman
2011-04-12 06:46:07 +04:00
parent fbf7a8480a
commit 91a664016e
4 changed files with 48 additions and 21 deletions
+25
View File
@@ -32,5 +32,30 @@ class Album < ActiveRecord::Base
m[3][1]
end
end
def tracksInDb
tracks = []
result = []
tracks_in_db = []
track_ids = []
self.releases.first.tracks.each do |track|
tracks << track
track_ids << track.id.to_s
end
in_db = TrackData.any_in(id: track_ids).only("id")
unless in_db.nil?
in_db.each do |track|
tracks_in_db << track["id"].to_i;
end
end
tracks.each do |track|
result << {
:object => track,
:in_db => tracks_in_db.include?(track.id) ? nil : true
}
end
result
end
end
+1 -4
View File
@@ -1,8 +1,5 @@
class Track < ActiveRecord::Base
set_table_name 'musicbrainz.bh_track'
belongs_to :release
def inDb
! TrackData.where(id: id.to_s).empty?
end
end