繁体   English   中英

NoSQL数据库用于关系数据结构

[英]NoSQL database for relational data structure

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

  • 我将有两个主要班级: PhotoGallery
  • 一个Gallery将包含另一个Gallery或一张Photo (理论上可能无限堆叠画廊...)
  • 轻松进行数据操作,例如,我需要能够轻松地将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)

这种数据结构非常简单,但是具有关系性,因此可以将带PostJS的SQL数据库与NodeJS一起使用。

您如何使用noSQL数据库(如mongoDB)来结构化它? (也许就我的关系结构数据而言,这完全不可能了吗?)

是传统关系型SQL数据库更可取的情况吗?

谢谢

使用mongoDB来保留嵌套结构,因为它将启用索引到n级并也允许对那些索引进行查询。

这是将记录插入称为相册的集合的示例。 您不必预先创建集合。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM