mongodb中的文档引用

时间:2011-04-18 19:14:04

标签: mongodb nosql

我有一个使用一些嵌入文档和一个引用文档的项目。我选择引用最后一个,因为它需要定期更新。

使用引用数据显示文档的最佳方法是哪种?我见过两种方法:

1 - 在每个文档上查询mongodb以获取引用的数据 (例如http://www.mongodb.org/display/DOCS/Schema+Design

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

2 - 查找整个引用文档,缓存对象,(在客户端上)将文档与其引用数据匹配

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_]

1 个答案:

答案 0 :(得分:0)

  

使用引用数据显示文档的最佳方法是什么?

没有一种最佳的文档引用方法。不同的案例有不同的需求。

它还取决于您使用的语言/框架。一些框架为您无缝地执行此查找提供支持。 (Morphia,MongoMapper,Mongoid等等)