求助一个关于pymongod的引用或关联查询问题。

2013-11-07 16:07:20 +08:00
 hiwljun
POST

{
"_id" : ObjectId,
"title" : "This is the title",
"content" : "This is the text.",
"author_id" : ObjectId,
"category_id" : ObjectId,
"comments" : [
{
"title" : "This is title",
"content" : "This is content",
"author_id" : ObjectId,
},
]
}

--------------------------------------

CATEGORY

{
"_id" : ObjectId,
"category_name" : "category name"

}

-------------------------------------

USER

{
"_id" : ObjectId,
"user_name": "hello"
}

由于用户名、分类可能会进行修改,所以没有采用嵌入式的文档设计。但这样设计查询遇到了点问题,先查询出POST的所有记录,然后遍历结果再根据相应的id去查相应的名字,这样就造成每一条数据需要多次查询才可以得到发布者、评论者和分类的名字。有什么方法可以查询POST的时候就把里面的ID给匹配了。

下面这个例子用DBRef也只有一条数据的时候可以,如果是find_all的情况下怎么把结果传到模板里去遍历。
https://gist.github.com/sbastn/769687
4405 次点击
所在节点    MongoDB
2 条回复
EPr2hh6LADQWqRVH
2013-11-07 18:32:49 +08:00
跨collection好像就不行了吧,你这样完全是像用关系型数据库一样在用mongo嘛。。Mongo又没有Join,你这不是搬起石头砸自己的脚。。。。

用户名改的话就统一改好了,你现在这样是在每次查询的时候费事,而统一改的话只是在修改的时候费事,到底是查询的情况普遍还是修改的情况普遍?
hiwljun
2013-11-07 19:43:04 +08:00
@avastms 说的有理,我也觉得这样的设计有问题。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/88414

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX