Embarqué vs lienvs Embed lien sur de grands ensembles de MongoDB (rubis)
Je cherche le meilleur moyen de rechercher un document de lettre pour un e-mail connecté. Jusqu'à présent, j'ai utilisé MongoMapper avec un document pour Newsletter et un autre pour Email. Cela devient vraiment lent avec + 100k Emails.
Je pensais peut-être son plus rapide d'intégrer les e-mails dans un tableau à l'intérieur Lettre d'information depuis que je suis vraiment seulement intéressé par l'e-mail (« [email protected] ») et non une logique autour d'elle.
1) Est-il possible d'intégrer jusqu'à 100 000 courriels dans un même document? 2) Mongoid est-il meilleur/plus rapide pour cela?
J'ajoute l'e-mail si ce n'est pas déjà dans la collection en demandant
email = newsletter.emails.first(:email => '[email protected]')
unless email
email = Email.new(:email => '[email protected]', :newsletter_id => self.id)
email.save
end
Et je pense que c'est là que tout commence à faire mal.
Voici comment ils sont connectés classe Bulletin comprennent mongomapper de nombreux documents : courriels ... fin
Class Email
include MongoMapper::Document
key :email, String
key :newsletter_id, ObjectId
belongs_to :newsletter
end
aimerait pour toute aide sur ce :)
Merci pour la réponse. En fait, j'ai fini par créer un document avec une série d'e-mails à référencer. Environ 120 000 courriels dépasseront la limite de taille des documents - il est donc logique de créer un nouveau document de référence dans les rares cas où cela se produit. – Christian