Node.js 丢失模式错误:模式没有';“未注册型号”;用户";。使用mongoose.model(名称、模式)
我正在开发一个MERN应用程序,参考MERN教程。我遇到了一个错误,我尝试了错误搜索,但找不到此错误的解决方案。 我创建了该用户的模型,并根据文档导出,然后在server.js中导入了该模型,但我找不到我在这里犯的错误。 请在cmd中找到附加的错误截图 请调查一下 models/User.js文件Node.js 丢失模式错误:模式没有';“未注册型号”;用户";。使用mongoose.model(名称、模式),node.js,mongodb,express,mongoose,Node.js,Mongodb,Express,Mongoose,我正在开发一个MERN应用程序,参考MERN教程。我遇到了一个错误,我尝试了错误搜索,但找不到此错误的解决方案。 我创建了该用户的模型,并根据文档导出,然后在server.js中导入了该模型,但我找不到我在这里犯的错误。 请在cmd中找到附加的错误截图 请调查一下 models/User.js文件 const mongoose = require('mongoose'); const userSchema = mongoose.Schema({ name: { typ
const mongoose = require('mongoose');
const userSchema = mongoose.Schema({
name: {
type: String,
required: 'Name is required!'
},
email: {
type: String,
required: 'Email is required!'
},
password: {
type: String,
required: 'Password is required!'
},
}, {timestamps: true});
module.exports = mongoose.model('User', userSchema);
require('dotenv').config();
const app = require('./app');
const mongoose = require('mongoose');
mongoose.connect(process.env.DATABASE, {
useUnifiedTopology: true,
useNewUrlParser: true
});
mongoose.connection.on('error', (err) => {
console.log('Mongoose connection error: ' + err.message);
})
mongoose.connection.once('open', () => {
console.log('MongoDB connected');
})
// Importing models
require('./models/User');
require('./models/Chatroom');
require('./models/Message');
app.listen(8000, () => {
console.log('Server listening on port 8000');
})
const mongoose = require('mongoose');
const User = mongoose.model('User');
const sha256 = require('js-sha256');
const jwt = require('jwt-then');
// catchError on user routes expects async function so it defined with asyc()
exports.register = async(req, res) => {
//... code
})
}
exports.login = async(req, res) => {
// ... code
})
}
server.js文件
const mongoose = require('mongoose');
const userSchema = mongoose.Schema({
name: {
type: String,
required: 'Name is required!'
},
email: {
type: String,
required: 'Email is required!'
},
password: {
type: String,
required: 'Password is required!'
},
}, {timestamps: true});
module.exports = mongoose.model('User', userSchema);
require('dotenv').config();
const app = require('./app');
const mongoose = require('mongoose');
mongoose.connect(process.env.DATABASE, {
useUnifiedTopology: true,
useNewUrlParser: true
});
mongoose.connection.on('error', (err) => {
console.log('Mongoose connection error: ' + err.message);
})
mongoose.connection.once('open', () => {
console.log('MongoDB connected');
})
// Importing models
require('./models/User');
require('./models/Chatroom');
require('./models/Message');
app.listen(8000, () => {
console.log('Server listening on port 8000');
})
const mongoose = require('mongoose');
const User = mongoose.model('User');
const sha256 = require('js-sha256');
const jwt = require('jwt-then');
// catchError on user routes expects async function so it defined with asyc()
exports.register = async(req, res) => {
//... code
})
}
exports.login = async(req, res) => {
// ... code
})
}
useController.js文件
const mongoose = require('mongoose');
const userSchema = mongoose.Schema({
name: {
type: String,
required: 'Name is required!'
},
email: {
type: String,
required: 'Email is required!'
},
password: {
type: String,
required: 'Password is required!'
},
}, {timestamps: true});
module.exports = mongoose.model('User', userSchema);
require('dotenv').config();
const app = require('./app');
const mongoose = require('mongoose');
mongoose.connect(process.env.DATABASE, {
useUnifiedTopology: true,
useNewUrlParser: true
});
mongoose.connection.on('error', (err) => {
console.log('Mongoose connection error: ' + err.message);
})
mongoose.connection.once('open', () => {
console.log('MongoDB connected');
})
// Importing models
require('./models/User');
require('./models/Chatroom');
require('./models/Message');
app.listen(8000, () => {
console.log('Server listening on port 8000');
})
const mongoose = require('mongoose');
const User = mongoose.model('User');
const sha256 = require('js-sha256');
const jwt = require('jwt-then');
// catchError on user routes expects async function so it defined with asyc()
exports.register = async(req, res) => {
//... code
})
}
exports.login = async(req, res) => {
// ... code
})
}
只是不要使用
mongoose
来导入用户
模型。您可以直接从models/User.js
文件导入它
const Users = require('../models/User'); //Check if the path is correct
const sha256 = require('js-sha256');
const jwt = require('jwt-then');
// catchError on user routes expects async function so it defined with asyc()
exports.register = async(req, res) => {
//... code
})
}
exports.login = async(req, res) => {
// ... code
})
}
谢谢,成功了