猫鼬嵌套文档返回未定义
Posted
技术标签:
【中文标题】猫鼬嵌套文档返回未定义【英文标题】:Mongoose Nested Document returning undefined 【发布时间】:2015-01-06 13:45:57 【问题描述】:我对 Mongoose 有这样的问题:
MongoDB 中的对象
_id:1928319237192387,
componists:
name:'George Enescu'
猫鼬查询
var find = function(req, res, next)
return IP.findById(req.params.id, function(err, artist)
if(!artist)
res.status(404).send(
status: 'Not Found'
);
else if (!err)
console.log(JSON.stringify(artist.componists.name));
输出:
undefined
预期输出:
George Enescu
但是记录 artist.componists
有效,回馈 name:'George Enescu'
【问题讨论】:
【参考方案1】:已经发现错误。我必须确保在艺术家模式中定义正确的类型。
var ArtistSchema = mongoose.Schema(
componists: type:String
);
我最初将类型设置为type:Number
,返回undefined
。
虚拟 + 无模式 = 错误?
但是,我还注意到,如果我将架构定义为 Mixed ,那么虚拟将无法工作。
【讨论】:
以上是关于猫鼬嵌套文档返回未定义的主要内容,如果未能解决你的问题,请参考以下文章
Express,第二次调用then()函数,用猫鼬保存对象后返回未定义对象