Есть ли способ сделать этот алгоритм быстрее?rails mongodb найти и удалить дубликат
Я извлекаю все документы для этой модели (Артефакт) и для каждого документа, который я хотел бы знать, если есть дубликат, и если я его удалю.
Artifact.all.to_a.each do |n|
image = n.image_original
thumb = n.image_thumbnail
count_value = Artifact.where(:image_original => image,
:image_thumbnail => thumb).all.to_a.count
if count_value > 1
n.destroy!
end
end
Имеет ли смысл упорядочение (т. Е. Если 2 документа имеют одинаковые значения, имеет значение, какой из них вы уничтожаете)? –
@Papouche, не могли бы вы попробовать мое решение? –