2014-04-02 121 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');

这是我的在这里第一个答案,希望它可以帮助:)