嵌入式与链接
我正在寻找最快的方法来搜索通讯文档以查找连接的电子邮件。到目前为止,我已经将 MongoMapper 与一个用于 Newsletter 的文档和另一个用于电子邮件的文档一起使用。+100k 电子邮件的速度非常慢。
我在想,将电子邮件嵌入到 Newsletter 中的数组中可能会更快,因为我真的只对电子邮件('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
我认为这就是一切开始受到伤害的地方。
以下是它们的连接方式 类通讯包括 MongoMapper::Document many :emails ... end
Class Email
include MongoMapper::Document
key :email, String
key :newsletter_id, ObjectId
belongs_to :newsletter
end
希望对此有任何帮助:)