2014-04-02 163 views
1

解決路徑,我有以下貓鼬模式:貓鼬,在嵌入式陣列

var WeekSchema = new Schema({ 
    days: [{ 
     name: String 
    }] 
}); 

和我想的名字「,並用它做的事(讓我們假設驗證)。 所以,我嘗試使用下面的代碼來驗證:

WeekSchema.path('days.name').validate(function(value){ 
    return /monday|tuesday|wednesday|thursday|friday|saturday|sunday/i.test(value); 
}, 'Invalid day'); 

,但我得到的錯誤:

WeekSchema.path('days.name').validate(function(value){ 
          ^
TypeError: Cannot call method 'validate' of undefined 

其實,如果我打印帶有

console.log(WeekSchema.path('days.name')); 

我有解決路徑「未定義」。

問題是,我如何通過使用它的路徑來獲得'名字'?

回答

3

我今天遇到了這個問題,所以我沒有打印出的主要路徑有一點研究,你的情況:

console.log(JSON.stringify(WeekSchema.path('days'), null, 4));
後來我想通了的路徑,子文檔是:

WeekSchema.path('days').schema.path('name');

這是我的在這裏第一個答案,希望它可以幫助:)