Mongoose,解析嵌入式数组中的路径
Posted
技术标签:
【中文标题】Mongoose,解析嵌入式数组中的路径【英文标题】:Mongoose, resolve path in embedded array 【发布时间】:2014-05-13 13:19:52 【问题描述】:我有以下 Mongoose 架构:
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'));
我有'未定义'。
问题是,如何通过路径获取“名称”?
【问题讨论】:
【参考方案1】:我今天遇到了这个问题,所以我通过打印出主要路径进行了一些研究,在你的情况下:
console.log(JSON.stringify(WeekSchema.path('days'), null, 4));
然后我发现子文档的路径是:
WeekSchema.path('days').schema.path('name');
这是我在这里的第一个答案,希望对您有所帮助:)
【讨论】:
以上是关于Mongoose,解析嵌入式数组中的路径的主要内容,如果未能解决你的问题,请参考以下文章
过滤和更新 mongodb mongoose 中的嵌入式数组
mongoose:使用$ pull删除嵌入式文档数组中的值(MongoDB 3.4版本)
如何在 Mongoose 的嵌入式文档中检索数组的最后一个对象?
如何在 Mongoose 的嵌入式文档中检索数组的最后一个对象?