2017-08-03 44 views
0

我userSchema看起來是這樣的:MongoDB中,存儲評論到一個特定的職位

var UserSchema = new Schema({ 
    name: { type: ......}, 
    email: { type..... }, 

    test1: { 
    [ 
     [0] { test: Array }, 
     [1] { test: Array }  
    ] 
    } 
)}; 

隨着這裏不包括其他一些對象。在test1中的對象中存儲了一些我想添加的數據或者以某種方式綁定了一系列註釋。問題是我不確定哪個是最好的實現方式?如果我應該創建一個新的commentSchema並以某種方式將註釋與對象連接起來或如何執行它。任何人都可以給我一些關於如何實現它的提示嗎?

+0

像這樣的事情? http://mongoosejs.com/docs/populate.html – dnickless

回答

0

您可以創建您的模式如下:

var CommentSchema = new Schema({ 
    user: {type: Schema.Types.ObjectId, ref: 'User', required: true}, 
    message: String, 
}); 

var UserSchema = new Schema({ 
    name: { type: ......}, 
    email: { type..... }, 
    ... 
    test1: { 
    comments: [CommentSchema] 
    } 
    ... OR 
    comments: [CommentSchema] 
)}; 

,或者如果你正在嘗試做這樣的事情與評論的帖子嘗試

var PostSchema = new Schema({ 
    comments: [CommentSchema] 
    postBody: String 
}) 

var UserSchema = new Schema({ 
    name: { type: ......}, 
    email: { type..... }, 
    ... 
    posts: [PostSchema] 
    ... 
)};