Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 用户帐户的数据库设计_Node.js_Mongodb_Mongoose_Database Design - Fatal编程技术网

Node.js 用户帐户的数据库设计

Node.js 用户帐户的数据库设计,node.js,mongodb,mongoose,database-design,Node.js,Mongodb,Mongoose,Database Design,我正在构建SaaS平台。一个用户只能有一个帐户(或用户帐户)。这意味着一个用户拥有电子邮件、密码、余额和分层计划 我感到困惑的是,我应该将用户帐户设置和层/余额数据分开吗 我是否应该将其分为两种模式:用户(电子邮件、密码)和帐户(余额、层级、用户id) 或者让它成为一个模型:用户帐户(电子邮件、密码、余额、层、用户id) 我认为用户模型在结构上不会有太多变化,因为它只是用于身份验证。。但是,对于该账户,未来可能会有一些变化您应该拆分。这叫做关注点分离。您有一个用于身份验证的模型,另一个用于用户详

我正在构建SaaS平台。一个用户只能有一个帐户(或用户帐户)。这意味着一个用户拥有电子邮件、密码、余额和分层计划

我感到困惑的是,我应该将用户帐户设置和层/余额数据分开吗

我是否应该将其分为两种模式:用户(电子邮件、密码)和帐户(余额、层级、用户id)

或者让它成为一个模型:用户帐户(电子邮件、密码、余额、层、用户id)


我认为用户模型在结构上不会有太多变化,因为它只是用于身份验证。。但是,对于该账户,未来可能会有一些变化

您应该拆分。这叫做关注点分离。您有一个用于身份验证的模型,另一个用于用户详细信息。您可以将一个外键从帐户添加到用户。

理想的方法应该是拥有两个不同的集合,但在您处理MongoDB(NoSQL DB)时,您应该关注非规范化。 i、 e.避免更多的收集和关系


因此,只有一种模式:用户帐户(电子邮件、密码、余额、层、用户id)是理想的选择。

我使用的是NoSQL MongoDB