物化路径树结构,支持MongoDB中的重复路径ID?

时间:2014-08-29 08:20:11

标签: mongodb materialized-path-pattern

在mongodb docs的materialized path tree structures指南中,他们展示了如何构建数据以支持简单查询的简单示例:

db.categories.insert( { _id: "Books", path: null } )
db.categories.insert( { _id: "Programming", path: ",Books," } )
db.categories.insert( { _id: "Databases", path: ",Books,Programming," } )
db.categories.insert( { _id: "Languages", path: ",Books,Programming," } )
db.categories.insert( { _id: "MongoDB", path: ",Books,Programming,Databases," } )
db.categories.insert( { _id: "dbm", path: ",Books,Programming,Databases," } )

只要_id对每个项目都是唯一的,这就可以正常工作。在我们的例子中,我们正在设计一个课程结构,该结构必须支持SEO:/course-a/lesson-1/introduction等能够使用的URL。数据设计必须支持重复(例如,多个课程可以有一个叫做#34的课程;介绍"):

  • 课程A.
    • 简介(课程)
      • 第1部分(课程)
      • 第2部分(课程)
    • 背景(课程)
    • ...(课程)
  • 课程B.
    • 简介(课程)
    • 为什么会这样(课程)
    • ...(课程)

我们目前的解决方案是使用物化路径设计创建课程。这是我们意识到它不能使用重复的课程ID。但在扔掉它之前,我想征求你的意见。

有没有办法设计它来支持我们使用物化路径的问题?

0 个答案:

没有答案