MongoDB 动态架构

MongoDB Dynamic Schema

我是 MongoDB 的新手,我想获得一些关于如何设计我的数据库架构的建议。

我目前正在尝试使用 Sails.js 框架为 Node.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 数据库时的良好实践,并确保理解和利用它的所有潜力。

你可以用 sails/waterline

做 1 - 3

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

就您的问题的其余部分而言,它受很多变数的影响,并且几乎是基于意见的。