Javascript 错误:mongoose.model不是函数
我一直在关注一些不同的教程,我对一些教程中似乎没有遇到的东西感到很困惑。我得到以下错误:Javascript 错误:mongoose.model不是函数,javascript,node.js,mongoose,webpack,Javascript,Node.js,Mongoose,Webpack,我一直在关注一些不同的教程,我对一些教程中似乎没有遇到的东西感到很困惑。我得到以下错误: Uncaught TypeError: mongoose.model is not a function 我试着删除node_模块并重新安装所有的东西,但都没有用。我错过了什么?我正在使用Webpack加载我的模块。这和这个问题有关系吗 这是我的模型: /app/authentication/user.model.js 'use strict'; var mongoose = require('mong
Uncaught TypeError: mongoose.model is not a function
我试着删除node_模块并重新安装所有的东西,但都没有用。我错过了什么?我正在使用Webpack加载我的模块。这和这个问题有关系吗 这是我的模型: /app/authentication/user.model.js
'use strict';
var mongoose = require('mongoose');
var UserSchema = new mongoose.Schema({
firstName: String,
lastName: String,
email: String,
password: String
});
mongoose.model('User', UserSchema);
'use strict';
var config = require('./environment');
var mongoose = require('mongoose');
module.exports = function() {
var db = mongoose.connect(config.db);
mongoose.connection.on('error', function(err) {
console.error('MongoDB connection error: ' + err);
process.exit(-1);
});
require('../../app/authentication/user.model');
return db;
};
以及以下mongoose配置文件:
/server/config/mongoose.js
'use strict';
var mongoose = require('mongoose');
var UserSchema = new mongoose.Schema({
firstName: String,
lastName: String,
email: String,
password: String
});
mongoose.model('User', UserSchema);
'use strict';
var config = require('./environment');
var mongoose = require('mongoose');
module.exports = function() {
var db = mongoose.connect(config.db);
mongoose.connection.on('error', function(err) {
console.error('MongoDB connection error: ' + err);
process.exit(-1);
});
require('../../app/authentication/user.model');
return db;
};
在末尾添加此行:
module.exports = mongoose.model('User', UserSchema);
在末尾添加此行:
module.exports = mongoose.model('User', UserSchema);
我降低了猫鼬的等级,效果很好:
猫鼬“^4.13.12”,
“猫鼬自动递增”:“^5.0.1”,
我降低了猫鼬的等级,它运行良好:
猫鼬“^4.13.12”,
“猫鼬自动递增”:“^5.0.1”,
我希望这对某人有帮助。我花了很多时间才弄明白
我希望这对某人有帮助。我花了很长时间才弄明白。你用的是什么版本的猫鼬?请注意,为项目安装的版本由项目的package.json run
npm install管理mongoose@latest
要强制使用最新版本,我使用的是最新版本的4.4.12。您使用的是mongoose的哪个版本?请注意,为项目安装的版本由项目的package.json runnpm install管理mongoose@latest
要强制使用最新版本,我使用的是4.4.12,这是最新版本。回拨使用此线路的问题我刚刚尝试过,但仍然收到相同的错误,很遗憾,我正在使用Webpack加载我的模块。这可能与这个问题有关吗?@jrsowles你找到解决这个问题的方法了吗?我也有同样的问题。回拨使用这条线路的问题我刚刚试过,但我仍然收到同样的错误,很遗憾,我正在使用Webpack加载我的模块。这可能与这个问题有关吗?@jrsowles你找到解决这个问题的方法了吗?我也有同样的问题。我相当肯定我们也有同样的问题,因为我在将mongoose版本升级到5+之后遇到了这个问题。问题是之前的文档设置了mongoose,比如solet mongoose=require('mongoose').connect(config.mongoURI,config.mogoopions)代码>。在5+中,这需要让mongoose=require('mongoose')
mongoose.connect(config.mongoURI,config.mogoopions)
connect
需要单独调用,因为它不会在5+中返回mongoose对象。我很确定我们也遇到了同样的问题,因为我在将mongoose版本升级到5+后遇到了这个问题。问题是之前的文档设置了mongoose,比如solet mongoose=require('mongoose').connect(config.mongoURI,config.mogoopions)代码>。在5+中,这需要让mongoose=require('mongoose')
mongoose.connect(config.mongoURI,config.mogoopions)
connect
需要单独调用,因为它不会在5+中返回mongoose对象。