2017-05-26 37 views
1

我需要兩個模式之間有一些關係。像用戶和評論之間的關係。這是我試過的代碼。添加與貓鼬和mongodb的2個模式的關係

const user = new Schema({ 
    uname:String, 
    email:String, 
    password:String, 
    created:{ type: Date, default: Date.now } 
}); 

const comment = new Schema({ 
    user:{ 
     type : Schema.Types.ObjectId, 
     ref : 'user' 
    }, 
    comment:String, 
    created:{ type: Date, default: Date.now } 
}); 

我該如何保存數據以發表評論?我必須傳遞評論用戶的ID嗎?或者我可以傳遞任何唯一的值(電子郵件或用戶名)。如何傳遞數據並檢索評論數據?對於NoSQL數據庫來說,我相當陌生。

+0

這有一個保存參考的例子:http://mongoosejs.com/docs/populate.html –

回答

0

你可以在註釋模式中創建一個鍵爲userId作爲字符串,userId將是用戶的_id(創建實例時創建的唯一ID)。

爲每個評論實例創建一個userId是通過,以便評論將關聯到該特定用戶,你可以通過在查詢中傳遞userId找到它(評論)。

讓說:

user1 : 
     _id : abc12amcne345ffc 
     uname: 'hello', 
     email: '[email protected]', 
     password: 'acd224', 
     created: somedate 

和評論

Comment : 

    userId: ' abc12amcne345ffc ', 
    comment: 'hello', 
    created: somedate 

它是開始,我認爲結構簡單。