我正试图围绕设计一个简单的Wiki风格的应用程序。在传统的wiki中,比如wikipedia,是以任何后端/复杂方式引用的“链接”吗?即HABTM ......或链接只是链接?
我正在努力决定自己该做什么,有点不同但相似。我有个人写的页面,他们可以将这些页面归于自己,也可以归功于一个着名的作者。我应该将此归因仅保存为标记吗?标签将创建对着名人物的引用,该引用可能存在也可能不存在,但也可以创建,但仅仅是链接。或者,我是否深入了解并建立真实的数据关系(HABTM)?
思想?
答案 0 :(得分:3)
在Mongo中,从不需要SQL样式的Has和Belongs To Many映射表。
如果你想提供一个页面的“这里有什么链接”视图,那么我会为你的Wiki中的每个页面做这样的事情。我将举一个关于熊猫的页面示例:
{
_id: "Panda",
text: "Page's contents go here",
links: ["Raccoon", "Weasel"]
}
您正在使用该网页的标题作为其_id。要查找链接到“Raccoon”的页面标题,您可以查询如下:
db.pages.find({"links": "Raccoon"})
显然,你应该在“链接”上建立一个索引。