Fix error for get_feed_cache
This commit is contained in:
parent
10f998d08c
commit
459e89fafc
|
@ -307,17 +307,22 @@ class SiteFeedAnnc
|
||||||
if feeds_time_field.nil?
|
if feeds_time_field.nil?
|
||||||
feeds_time_field = 'postdate'
|
feeds_time_field = 'postdate'
|
||||||
end
|
end
|
||||||
match_cond = {"channel_key"=>channel_key}
|
site_feed_anncs = self.where("channel_key" => channel_key)
|
||||||
if !merge_with_category.blank? && merge_with_category.exclude?('all')
|
if !merge_with_category.blank? && merge_with_category.exclude?('all')
|
||||||
match_cond["merge_with_category"] = {"$in"=>merge_with_category}
|
site_feed_anncs = site_feed_anncs.where(:merge_with_category.in => merge_with_category)
|
||||||
end
|
end
|
||||||
if site_source
|
if site_source
|
||||||
match_cond["channel_title.#{locale}"] = site_source
|
site_feed_anncs = site_feed_anncs.where({"channel_title.#{locale}" => site_source})
|
||||||
end
|
end
|
||||||
|
site_feed_annc_ids = site_feed_anncs.pluck(:id)
|
||||||
|
match_cond = {
|
||||||
|
"site_feed_annc_id" => {"$in" => site_feed_annc_ids},
|
||||||
|
"locale" => locale
|
||||||
|
}
|
||||||
|
|
||||||
pipeline = [
|
pipeline = [
|
||||||
{"$match"=>match_cond},
|
{"$match" => match_cond},
|
||||||
{"$project"=>{"data"=>"$all_contents_for_feed.#{locale}"}},
|
{"$project"=>{"data"=>1}},
|
||||||
{"$unwind"=>"$data"},
|
|
||||||
{"$sort"=>{"data.is_hidden"=>-1,"data.is_top"=>-1,"data.#{feeds_time_field}"=>-1}},
|
{"$sort"=>{"data.is_hidden"=>-1,"data.is_top"=>-1,"data.#{feeds_time_field}"=>-1}},
|
||||||
{"$match"=>{"data.is_hidden"=>{"$ne"=>true},
|
{"$match"=>{"data.is_hidden"=>{"$ne"=>true},
|
||||||
"data.postdate"=>{"$lte"=>Time.now},
|
"data.postdate"=>{"$lte"=>Time.now},
|
||||||
|
@ -328,7 +333,8 @@ class SiteFeedAnnc
|
||||||
if max_len
|
if max_len
|
||||||
pipeline << {"$limit"=> max_len}
|
pipeline << {"$limit"=> max_len}
|
||||||
end
|
end
|
||||||
self.collection.aggregate(pipeline).collect do |data|
|
|
||||||
|
SiteFeedAnncDetail.collection.aggregate(pipeline).collect do |data|
|
||||||
tmp = data['data']
|
tmp = data['data']
|
||||||
if !(tmp['category'].is_a? String)
|
if !(tmp['category'].is_a? String)
|
||||||
tmp['category'] = tmp['category'][locale]
|
tmp['category'] = tmp['category'][locale]
|
||||||
|
|
Loading…
Reference in New Issue