【问题标题】:Mongoose - Unable to retrieve virtual fields in express routeMongoose - 无法检索快速路线中的虚拟字段
【发布时间】:2016-03-24 13:46:07
【问题描述】:

我正在构建一个读取用户列表的 API。我的猫鼬用户模型有一个虚拟字段“全名”,它返回一个包含用户名和姓的串联字符串。 当我读取数据库并从我的 API 以 JSON 格式返回用户时,我无法在返回的 JSON 中看到此字段。

事实证明,JSON stringify 删除了虚拟字段,即使它们的“typeof”返回“string”

我找到了一个解决方案,方法是使用数组映射函数将这些虚拟对象提取到其他属性中,但我必须将所有属性克隆到另一个对象才能使它们通过字符串化。它使我遍历无效的值。我更喜欢更清洁、有记录的解决方案

【问题讨论】:

    标签: json node.js mongodb express mongoose


    【解决方案1】:

    我一直在向我的 mongoose 架构添加以下选项:

    toObject: {
      virtuals: true
    }
    ,toJSON: {
      virtuals: true
    }
    

    事实证明,在记录整个数据后,它确实可以在 JSON.Stringified 时输出虚拟对象。还需要将 virtuals: true 放在 toObject 选项中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-30
      • 1970-01-01
      • 2017-01-25
      • 2015-06-10
      • 2021-09-08
      • 2013-06-27
      • 2012-11-07
      • 1970-01-01
      相关资源
      最近更新 更多