2011-04-18 5 views
0

J'ai un projet qui utilise des documents incorporés et un document référencé. Je choisis de faire référence au dernier car il fait l'objet d'une mise à jour régulière.Référence de document dans mongodb

Quelle est la meilleure approche pour afficher un document avec des données référencées? Je l'ai vu deux approches:

1 - Interrogation de la MongoDB pour les données référencées sur chaque document (exemple de http://www.mongodb.org/display/DOCS/Schema+Design)

student.scores[0].for_course = db.courses.findOne({_id:_course_id_to_find_}); 

2 - Trouver le tout document référencé, cache sur un objet, et (sur le client) correspondent au document avec ses données référencées

db.courses.find({}) 
cachedCourses = {} 
for course in courses { 
    cachedCourses[course._id] = course //object using id as key 
} 
student.scores[0].for_course = cachedCourses[_course_id_to_find_] 

Répondre

0

Quelle est la meilleure approche pour afficher un document avec des données référencées?

Il n'existe pas de meilleure approche pour le référencement de documents. Différents cas répondent à des besoins différents.

Cela dépendra aussi de la langue/du framework que vous utilisez. Certains frameworks supportent la réalisation transparente de cette recherche pour vous. (Morphia, MongoMapper, Mongoid pour n'en nommer que quelques-uns)

Questions connexes