Javascript 设置混合架构类型错误
我有一个应用程序使用了旧版本的mongoose.js,我正在将它升级到2.9.x(打算在更新成功后升级到3.x)。它似乎(大部分)工作正常,直到我尝试设置任何模式类型为Javascript 设置混合架构类型错误,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我有一个应用程序使用了旧版本的mongoose.js,我正在将它升级到2.9.x(打算在更新成功后升级到3.x)。它似乎(大部分)工作正常,直到我尝试设置任何模式类型为Mixed。当我这样做时,它会错误地说TypeError:cannotreadproperty'name'of undefined 以下是我的模式: mongoose = require 'mongoose' Schema = mongoose.Schema Mixed = Schema.Types.Mixed LogI
Mixed
。当我这样做时,它会错误地说TypeError:cannotreadproperty'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,直到我尝试设置模式
属性(通常使用半复杂对象,即{type:'string',companys:['company1',company2']}
),它都会出错
如果我不设置模态,就不会有错误。知道为什么会这样吗?这个故事的寓意是:不要使用混合类型 但说真的,我从来没有弄明白这个特殊的问题是什么。我最终只是更新到了Mongoose的最新版本,并在错误出现时处理了错误(主要是API更改) 在此之前,日志已更改为不包含任何
混合的
数据