mongoDB节点API - 无法访问结果键值?

时间:2017-10-16 09:57:06

标签: node.js mongodb express mongoose mongodb-query

我在带有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()函数只是因为我记录了所有结果对象键! (这是一种解决方法或访问返回文档值的好方法吗?)

1 个答案:

答案 0 :(得分:0)

确定, 新手错误:我需要将我的mongoose Schema更新为

{
    _id: mongoose.Schema.Types.ObjectId,
    name: String,
    en: mongoose.Schema.Types.Mixed
}

现在我可以轻松访问object.en