MongoDB动态架构

时间:2015-02-22 19:07:21

标签: node.js mongodb database-design sails.js

我是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数据库时的良好实践,并确保理解并充分利用它的所有潜力。

1 个答案:

答案 0 :(得分:1)

你可以用风帆/水线做1 - 3

你可以做4,但不能用水线,你必须使用不同的ORM

就你的问题的其余部分而言,它受许多变量的影响并且基于意见。