【问题标题】:NoSQL database for relational data structure用于关系数据结构的 NoSQL 数据库
【发布时间】:2014-07-22 13:19:09
【问题描述】:

我正在使用 angularJS(正面和背面)和 nodejs(服务器)创建一个照片库 SPA。我在问自己应该使用哪种类型的数据库来存储画廊/照片:

  • 我将有两个主要课程:PhotoGallery
  • Gallery 将包含另一个GalleryPhoto(理论上可以无限堆叠画廊...)
  • 简单的数据操作,例如,我需要能够轻松地将 photo/gallery 移动到另一个 Gallery 或完整分支(将包含 4 个嵌套图库的树移动到另一个)

相关的SQL结构:

Photo (photo_id, title, filename, gallery_id) //gallery_id is a foreign key to Gallery table
Gallery (gallery_id, title, parent_id) //parent_id is NULL when no parent (root gallery)

这种数据结构很简单,但是关系型的,所以使用像 postgresql 这样的 SQL 数据库和 NodeJS 就可以了。

您将如何使用像 mongoDB 这样的 noSQL 数据库来构建它? (也许我的关系结构数据完全不可能?)

传统的关系 SQL 数据库是否更可取?

谢谢

【问题讨论】:

    标签: sql node.js database database-design nosql


    【解决方案1】:

    使用 mongoDB 保留嵌套结构,因为它可以对 n 级进行索引并启用对这些索引的查询。

    【讨论】:

    • 谢谢,这有帮助。你有什么具体的例子吗?我去看看文档。
    【解决方案2】:

    以下是将记录插入到名为 photogallery 的集合中的示例。 您不必预先创建集合。

    db.photogallery.insert(
    {
     photo_id: "1",
     phototitle: "phototitle",
     filename: "filename",
     gallery: {
        gallerytitle: "gallerytitle",
        parentgallery: "parentgallery"
     }
    }
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-08
      • 2017-03-09
      • 2012-07-10
      • 1970-01-01
      • 2011-02-06
      • 2017-03-19
      相关资源
      最近更新 更多