将菜单项与MongoDB中的页面相关联

时间:2017-05-11 12:13:54

标签: php mysql mongodb

我目前正在将现有的定制内容管理系统从使用MySQL转换为MongoDB。 CMS具有标题和正文内容的页面,存储在名为pages的表中。

CMS还有多个菜单,可由网站管理员编辑,所有菜单都存储在名为menus的表中。每个都有一个唯一的ID和链接,存储在一个名为menu_links的表中。

menu_links中,有一列指示菜单链接是指向某个网页还是网址,以及一列是否包含其链接到的网页的ID,或NULL如果是URL。这是为了防止在页面的URL发生变化时菜单URL中断。

我可以看到,MongoDB的所有内容都是将文档嵌入到另一个文件中,最终会出现菜单的重复数据和非常难以管理的系统。将页面的ID链接到菜单项是否合适?

1 个答案:

答案 0 :(得分:0)

我不知道这是不是你的意思

{
    _id: 111,
    // other fields
    url: "url/to/page/111"
}

菜单

{
    _id: 1,
    elements: [
        {page_id: 111, url: "url/to/page/111"},
        {page_id: 222, url: "url/to/page/222"}
    ]
}