【发布时间】:2015-02-23 10:22:11
【问题描述】:
我是 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 个集合:用户和访客。
在 guest 中,每个文档都有一个 ID 和一组人员
设计#4:
使用动态集合
每个用户的来宾将存储在一个名为 guest_$userid 的集合中
问题是我不知道是否可以使用 Sails.js
提前感谢您的帮助。
我真的很想学习设计 NoSQL 数据库时的良好实践,并确保了解并利用它的所有潜力。
【问题讨论】:
-
要开始设计和评估模式设计,请写下您将要处理的数据(仅用简单的英语)。你将如何阅读它?你将如何插入新数据?你会更新什么?最常见的操作是什么?什么需要快?你能忍受什么慢?有了这些信息,我们可以评估不同的选项并选择最佳候选人。
标签: node.js mongodb database-design sails.js