当创build一个使用Number的模式时,Mongoose TypeError

我有一个使用数字的模式如下。

var mongoose = require('mongoose') , Schema = mongoose.Schema , ObjectId = Schema.Types.ObjectId , Mixed = Schema.Types.Mixed , Number = Schema.Types.Number , Date = Schema.Types.Date var ItemSchema = new Schema({ quantity:{type:Number, required:true, min:1}, category:{type:String, required:true, enum:categoryList}, description:{type:String, required:true}, cost:{type:Number, required:true, min:0, default:0}, appraisedValue:{type:Number, min:0, default:0}, appraisedOn:Date, purchasedOn:Date, purchasedFrom:String, brand:String, dynamicFieldList:[DynamicFieldSchema] }) exports.ItemSchema = ItemSchema exports.Item = mongoose.model('Item', ItemSchema) 

但是,当我尝试运行我的应用程序时,我收到TypeError:Undefinedtypes的'数量'。 如果数量值被注释掉,这也发生在“成本”上。

堆栈跟踪是:

 C:\Users\a\Documents\Git\has-inventory.js\node_modules\mongoose\lib\schema.js:325 throw new TypeError('Undefined type at `' + path + TypeError: Undefined type at `quantity` Did you try nesting Schemas? You can only nest using refs or arrays. at Function.Schema.interpretAsType (C:\Users\a\Documents\Git\has-inventory.js\node_modules\mongoose\lib\schema.js:325:11) at Schema.path (C:\Users\a\Documents\Git\has-inventory.js\node_modules\mongoose\lib\schema.js:268:29) at Schema.add (C:\Users\a\Documents\Git\has-inventory.js\node_modules\mongoose\lib\schema.js:200:12) at new Schema (C:\Users\a\Documents\Git\has-inventory.js\node_modules\mongoose\lib\schema.js:69:10) at Object.<anonymous> (C:\Users\a\Documents\Git\has-inventory.js\domain\inventory.js:34:18) at Module._compile (module.js:449:26) at Object.Module._extensions..js (module.js:467:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:362:17) 

删除这两行:

 , Number = Schema.Types.Number , Date = Schema.Types.Date 

应该在模式定义中使用内置的JavaScript NumberDatetypes。