TypeError:不能使用'in'运算符在undefined中search'pluralization'

我试图使用鉴别器来实现inheritance,如Mongoose API文档中所示 。 但是,我不断收到以下错误:

C:\ Code \ project \ node_modules \ mongoose \ lib \ index.js:364 if(!(schema.options中的'pluralization'))schema.options.pluralization = thi
^
TypeError:无法使用'in'运算符在Mongoose.model(C:\ Code \ project \ node_modules \ mongoose \ lib \ index.js:364:34)

这是导致上述错误的代码; 我尝试扩展mongoose Schema类来创build我的基本模式:

var util = require('util'); var mongoose = require('mongoose'); var Schema = mongoose.Schema; function ResourceSchema() { Schema.apply(this, arguments); this.add({ title: String }); } util.inherits(ResourceSchema, Schema); module.exports = mongoose.model('Resource', ResourceSchema); 

我也尝试在最后一行设置集合名称,但是这没有帮助。

 module.exports = mongoose.model('Resource', ResourceSchema, 'resources'); 

       

网上收集的解决方案 "TypeError:不能使用'in'运算符在undefined中search'pluralization'"

您试图从模式创build模型,而不是模式实例

用这个代替:

 module.exports = mongoose.model('Resource', new ResourceSchema()); 

这与您通常创build模型的方式类似:

 var schema = new Schema({ ... }); // or, in your case, ResourceSchema var model = mongoose.model('Model', schema);