mongodb TypeError:无法使用“in”运算符在undefined中搜索“pluralization”

xienkqul  于 2023-08-04  发布在  Go
关注(0)|答案(2)|浏览(83)

我尝试使用鉴别器实现继承,如Mongoose API文档所示。但是,我总是得到以下错误:
C:\Code\project\node_modules\mongoose\lib\index.js:364 if(!('pluralization' in schema.options))schema.options.pluralization = thi
^
TypeError:Cannot use 'in' operator to search 'pluralization' in undefined at Mongoose.model(C:\Code\project\node_modules\mongoose\lib\index.js:364:34)
下面是导致上述错误的代码;我尝试扩展mongoose Schema类以使我的基本模式:

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');

czfnxgou

czfnxgou1#

你试图创建一个模式 * 类 * 的模型,而不是一个模式 * 示例 *。
使用这个代替:

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

字符串
这类似于您通常创建模型的方式:

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

e4yzc0pl

e4yzc0pl2#

userSchema.js文件中:

const mongoose = require('mongoose');

const userSchema=new mongoose.Schema({
    name:{
        type: String,
        required : true
    },
    email:{
        type: String,
        required : true
    },
    password:{
        type: String,
        required : true
    },
})

const User=mongoose.model('USER',userSchema)
module.exports =User

字符串

相关问题