mongodb select tracks optimized
This commit is contained in:
@@ -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
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user