Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.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 企业、企业用户和用户的Mongodb/Mongoose模式_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js 企业、企业用户和用户的Mongodb/Mongoose模式

Node.js 企业、企业用户和用户的Mongodb/Mongoose模式,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我正在尝试构建一个包含企业、企业用户和用户的应用程序。我提出了这些模式/模型 var enterpriseSchema = new Schema({ enterpriseId : ObjectId, enterpriseName : {type: String, index: true}, enterpriseUsers : [enterpriseUserSchema], owner

我正在尝试构建一个包含企业、企业用户和用户的应用程序。我提出了这些模式/模型

var enterpriseSchema = new Schema({
    enterpriseId            :    ObjectId,
    enterpriseName          :    {type: String, index: true},
    enterpriseUsers         :    [enterpriseUserSchema],
    owner                   :    {type: ObjectId, ref: 'User'}
});

var enterpriseUserSchema = new Schema({
    user                    :    {type: ObjectId, ref: 'User'},
    role                    :    {type: String, index: true},
    lastAccess              :    Date
});

var userSchema = new Schema({
    userId                  :    ObjectId,
    givenName               :    String,
    middleName              :    String,
    familyName              :    String,
    username                :    { type: String, unique: true, index: true },
    password                :    String,
    enterprise              :    {type: ObjectId, ref: 'Enterprise'}
});

var User = mongoose.model('User', userSchema);
var Enterprise = mongoose.model('Enterprise', enterpriseSchema);
请注意enterpriseUsersSchema。这似乎是一种参考企业用户的合理方式。是这样,还是有更好的方法


如果我使用这些模式/模型,我将如何填充企业的用户?我需要每个用户的givenName、familyName和角色。我已经尝试过填充,但鉴于enterpriseUsersSchema,我无法确定如何填充用户。

不确定是否需要两个独立的模式,enterpriseUserSchema和userSchema,因为它基本上是一个一对一的映射,除非有另一个角色模式。如果enterpriseUserSchema是RoleSchema,则user应该是userId的数组。要填充企业的用户,请考虑使用我试图简化我的模型。最终,我需要支持用户和企业之间的一对多关系。我不确定你对角色有什么想法。我需要将用户与企业联系起来,我需要知道用户的角色。也许我应该把EnterpriseUsersChema和enterpriseSchema联系起来。我可能需要能够发送具有所有者通知角色的所有用户。谢谢你的见解。