【问题标题】:mongoDB node API - Can't access result keys values?mongoDB 节点 API - 无法访问结果键值?
【发布时间】:2018-03-27 19:28:28
【问题描述】:

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

【问题讨论】:

  • 你能解释更多吗,我认为你需要重新检查这段代码......
  • @Shubham 我编辑了我的问题,您能否更准确地了解我需要重新检查的代码部分? (我已经简化了)
  • 你在哪里定义文本?
  • 哈哈,是啊!抱歉,这是我简化的部分,忘记切换变量了。

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


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2020-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 2018-09-25
    相关资源
    最近更新 更多