我正在创建一个带有angularJS(正面和背面)和nodejs(服务器)的照片库SPA。我问自己应该使用哪种类型的数据库来存储图库/照片:
Photo
和Gallery
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)
这个数据结构非常简单但很关系,所以使用像NodeJS这样的postgresql这样的SQL数据库就行了。
如何使用像mongoDB这样的noSQL数据库来构建它? (也许我的关系结构数据完全没有问题?)
传统的关系型SQL数据库更适合这种情况吗?
由于
答案 0 :(得分:1)
使用mongoDB来保持嵌套结构,因为它可以将索引编入n级并启用对这些索引的查询。
答案 1 :(得分:0)
以下是将记录插入名为photogallery的集合中的示例。 您无需预先创建集合。
db.photogallery.insert(
{
photo_id: "1",
phototitle: "phototitle",
filename: "filename",
gallery: {
gallerytitle: "gallerytitle",
parentgallery: "parentgallery"
}
}
)