我是MongoDB的新手,我想就如何设计数据库架构提出一些建议。
我目前正在尝试使用Node.js的Sails.js框架开发一个私有事件管理器 该应用程序的每个用户都可以为每个用户创建事件和管理访客。
设计#1 :(类似于我对MYSQL的处理方式)
2个收藏:用户和来宾。
访客使用外键guest_id链接到用户
设计#2:
1个使用嵌入式文档的用户集合
{
"id": "integer",
"name": "string",
"guests": [
{
"id": "integer",
"firstname": "string",
"lastname": "string",
"attended": "boolean",
"email": "string",
"phone": "string",
"addresse": {
"street": "string",
"zipcode": "integer",
"city": "string",
"country": "string",
},
"notes": "text"
}
],
设计#3:
2个收藏:用户和宾客
在访客中,每个文档都有一个ID和一组人
设计#4:
使用动态集合
每个用户的访客将存储在名为guests_ $ userid
的一个集合中
事情是我不知道我是否可以用Sails.js做
提前感谢您的帮助 我真的想学习设计NoSQL数据库时的良好实践,并确保理解并充分利用它的所有潜力。
答案 0 :(得分:1)
你可以用风帆/水线做1 - 3
你可以做4,但不能用水线,你必须使用不同的ORM
就你的问题的其余部分而言,它受许多变量的影响并且基于意见。