2017-04-07 54 views
1

我是初学Node.JS和Mongoose的程序员。到目前为止,我已经创建了一个非常简单的博客与3个模型 - 文章,用户,类别和一切工作正常。现在我想创建评论。因此,我希望每个用户都能够发表评论,并且每篇文章也能够提供评论。我怎样才能做到这一点,我怎么能代表控制器逻辑来互相交流:猫鼬多对多关系

let articleSchema = mongoose.Schema (
{ 
    author: {type: ObjectId, ref: 'User'}, 
    title: {type: String, required: true }, 
    content: {type: String, required: true }, 
    category: {type: ObjectId, ref: 'Category', required: true}, 
    date: {type: Date, default: Date.now() }, 
} 
); 

let userSchema = mongoose.Schema(
{ 
    email: {type: String, required: true, unique: true}, 
    passwordHash: {type: String, required: true}, 
    fullName: {type: String, required: true}, 
    salt: {type: String, required: true}, 
    articles: [{type: ObjectId, ref: 'Article'}], 
    roles: [{type: ObjectId, ref: 'Role'}] 
} 
); 

let categorySchema = mongoose.Schema (
{ 
    name: {type: String, required:true}, 
    articles: [{type: ObjectId, ref: 'Article'}] 
} 
); 

回答

2

创建注释的模式将参考作者和文章:

let commenSchema = mongoose.Schema (
{ 
    author: {type: ObjectId, ref: 'User', required: true}, 
    content: {type: String, required: true }, 
    article: {type: ObjectId, ref: 'Article', required: true}, 
    date: {type: Date, default: Date.now() }, 
});