我在带有Express的Node.js上使用带有 Mongoose 的mongoDB,并试图访问像这样的集合中的文档:
{
_id:"ATypicalObjectID",
name:"object",
en:{AnotherObjectWithStuffInside}
}
我的中间件中有一个函数就是这个:
collection.findOne({name:"object"}).then(function(object){
console.log(object, object.en, object[en], object.getValue("en"));
});
记录的结果为{TheTextObjectmentionnedAbove}, undefined, undefined, {AnotherObjectWithStuffInside}
但我无法理解为什么我有这两个undefined
(even on the mongoDB Node.js driver API)并使用此getValue()函数只是因为我记录了所有结果对象键! (这是一种解决方法或访问返回文档值的好方法吗?)
答案 0 :(得分:0)
确定, 新手错误:我需要将我的mongoose Schema更新为
{
_id: mongoose.Schema.Types.ObjectId,
name: String,
en: mongoose.Schema.Types.Mixed
}
现在我可以轻松访问object.en
!