【问题标题】:Setting Mixed Schema Type Error设置混合模式类型错误
【发布时间】:2014-04-22 04:28:14
【问题描述】:

我有一个使用旧版本 mongoose.js 的应用程序,我一直在将其升级到 2.9.x(打算在此更新成功后升级到 3.x) .它似乎(大部分)工作正常,直到我尝试设置架构类型为Mixed 的任何内容。当我这样做时,它会出错说TypeError: Cannot read property 'name' of undefined

这是我的架构:

mongoose = require 'mongoose'
Schema   = mongoose.Schema
Mixed   = Schema.Types.Mixed

LogItemSchema = new Schema({
    action: String
  , user: String
  , comment: String
  , time: Date
  , modal: Mixed
})

module.exports = LogItem = mongoose.model('LogItem', LogItemSchema)

我可以很好地创建一个新的 LogItem,直到我尝试设置 modal 属性(通常使用半复杂对象,即{type: 'string', companies: ['company1', 'company2']}),它会出错。

如果我不设置模态,则没有错误。知道为什么会这样吗?

【问题讨论】:

    标签: javascript node.js mongodb mongoose


    【解决方案1】:

    故事的寓意:不要使用Mixed 类型。

    但说真的,我从来没有弄清楚这个特殊问题是什么。我最终只是更新到最新版本的 Mongoose 并处理了出现的错误(主要是 API 更改)。

    在此之前日志已更改为不包含任何 Mixed 数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-15
      • 1970-01-01
      • 2015-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-19
      • 1970-01-01
      相关资源
      最近更新 更多