1
acdea4effdbb420d 2012-04-16 15:40:08 +08:00
|
2
200 2012-04-16 16:06:32 +08:00
其实思想上和关系数据库差不多,你可以给用户的文档添加一个子文档,把用户收藏的商品ID都保存在这个子文档中,查询的时候先从中提取商品ID,再根据商品ID检索商品信息。
|
5
avatasia 2012-04-16 17:37:13 +08:00
embedding ,linking这个专门研究过,在google group上也请教过别人。
如果你的数据侧重外联,不应该用mongodb,而是关系数据库。 nosql是用来处理博客,微博,日志等这种实时信息流,更改的动作不多。 embedding 查询效率高, 占用空间大, linking查询效率低,占用空间小。 embedding最典型的使用就是博客的评论, 像2.1出来的aggregate framework就是用来处理embedding数据的。 linking是1对1查询,如果你需要外联数据,需要在客户端查询DBRef对应的数据。在pymongo里有AutoReference这个语法糖,实际上也是做了一次查询。 |
6
200 2012-04-16 17:46:26 +08:00
|
7
chloerei 2012-04-16 17:57:52 +08:00
用不用 embed 取决于是否有从属关系以及希不希望这些内容被一并读出
|