【问题标题】:when using mongoose.model() getting error TypeError: Cannot read property 'test' of undefined使用 mongoose.model() 时出现错误 TypeError: Cannot read property 'test' of undefined
【发布时间】:2016-10-28 19:21:39
【问题描述】:

这是我的架构

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var test = new Schema({
    name : {
       type : String,
       require : true,
       sparse : true
    },
    description : {
       type : String
    },
    questions : {
       type : [Schema.Types.ObjectId],
       sparse : true
    }  }); 
    module.exports = new mongoose.model('test', test);

当我尝试执行时,它给我的错误如下:

TypeError: Cannot read property 'test' of undefined
at new Mongoose.model (/home/utkarsh/Desktop/MEAN_REST_user_management/node_modules/mongoose/lib/index.js:329:25)
at Object.<anonymous> (/home/utkarsh/Desktop/MEAN_REST_user_management/app/models/test.js:19:18)
at Module._compile (module.js:541:32)
at Object.Module._extensions..js (module.js:550:10)
at Module.load (module.js:458:32)
at tryModuleLoad (module.js:417:12)
at Function.Module._load (module.js:409:3)
at Module.require (module.js:468:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/home/utkarsh/Desktop/MEAN_REST_user_management/app/routes/test.js:6:13)
at Module._compile (module.js:541:32)
at Object.Module._extensions..js (module.js:550:10)
at Module.load (module.js:458:32)
at tryModuleLoad (module.js:417:12)
at Function.Module._load (module.js:409:3)
at Module.require (module.js:468:17)

我之前使用过相同的格式,效果很好。不知道为什么它不起作用。有人可以帮忙吗?

【问题讨论】:

  • 去掉mongoose.model()前面的new
  • 谢谢,节省了我很多时间。

标签: node.js mongodb mongoose mean-stack


【解决方案1】:

改变这个:

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

到这里:

module.exports = mongoose.model('test', test);

mongoose.model() 不是一个类,所以你不应该实例化它(使用new)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-07
    • 2021-06-25
    • 1970-01-01
    • 2017-04-24
    • 2023-03-15
    • 2017-12-29
    • 1970-01-01
    • 2020-03-03
    相关资源
    最近更新 更多