我有两个系列。一个是学生,另一个是书籍。学生最多可以选择100本书。所以,我可以设计学生集合
{
'_id'=>'',
selections['bookid1', 'bookid2', 'bookid3' ... so on]
}
另一个解决方案是选择集合
{
'_id'=>''
'book_id'=>'',
'student_id'=>''
}
哪种设计在查询性能方面更好。还有其他理由选择其中一个吗?
答案 0 :(得分:1)
Mongo不支持加入。在对数据建模时,mongo文档中有提示。 mongo中的引用是思想数据库,但不是一个好方法。首选项是使用手动参考。例如
{
'isbn': '',
'title': ''
}
{
'name': '',
'books': [isbn numbers... ]
}
http://docs.mongodb.org/manual/core/data-modeling/
http://docs.mongodb.org/manual/reference/database-references/