Внедрено и ссылка
Я ищу самый быстрый способ поиска в документе новостной рассылки для связанного электронного письма.До сих пор я использовал MongoMapper с одним документом для рассылки новостей и другим для электронной почты.Это становится очень медленным с + 100k электронных писем.
Я думал, может быть, быстрее встроить электронные письма в массив внутри информационного бюллетеня, так как я действительно интересуюсь только электронной почтой ('someemail@email.com')а не какая-то логика вокруг этого.
1) Можно ли вообще вложить до 100k-500k писем в один документ?2) Mongoid лучше / быстрее для этого?
Я добавляю электронное письмо, если его еще нет в коллекции, спрашивая
email = newsletter.emails.first(:email => 'someemail@email.com')
unless email
email = Email.new(:email => 'someemail@email.com', :newsletter_id => self.id)
email.save
end
И я думаю, с этого все и начинаетсяобидеть.
Вот как они связаны. Class Newsletter включает MongoMapper :: Document many: emails ... end
Class Email
include MongoMapper::Document
key :email, String
key :newsletter_id, ObjectId
belongs_to :newsletter
end
хотел бы получить любую помощь по этому вопросу:)